diff --git a/src/script_opt/Expr.cc b/src/script_opt/Expr.cc index c5cf6c16c2..a95d71f421 100644 --- a/src/script_opt/Expr.cc +++ b/src/script_opt/Expr.cc @@ -2119,7 +2119,12 @@ ExprPtr ArithCoerceExpr::Reduce(Reducer* c, StmtPtr& red_stmt) const auto& ct = cv->GetType(); if ( IsArithmetic(t->Tag()) || IsArithmetic(ct->Tag()) ) - return make_intrusive(FoldSingleVal(cv, t)); + { + auto v = FoldSingleVal(cv, t); + if ( v ) + return make_intrusive(v); + // else there was a coercion error, fall through + } } if ( c->Optimizing() )