From d8213246ea372f0ebd91e650ae4df4354cabafd3 Mon Sep 17 00:00:00 2001 From: Vern Paxson Date: Tue, 1 Jun 2021 14:13:09 -0700 Subject: [PATCH] error propagation fix for AST reduction --- src/script_opt/Expr.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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() )