diff options
Diffstat (limited to 'kernel/consteval.h')
| -rw-r--r-- | kernel/consteval.h | 9 | 
1 files changed, 7 insertions, 2 deletions
diff --git a/kernel/consteval.h b/kernel/consteval.h index 0229f5045..154373a8d 100644 --- a/kernel/consteval.h +++ b/kernel/consteval.h @@ -321,8 +321,13 @@ struct ConstEval  			if (sig_d.size() > 0 && !eval(sig_d, undef, cell))  				return false; -			set(sig_y, CellTypes::eval(cell, sig_a.as_const(), sig_b.as_const(), -					sig_c.as_const(), sig_d.as_const())); +			bool eval_err = false; +			RTLIL::Const eval_ret = CellTypes::eval(cell, sig_a.as_const(), sig_b.as_const(), sig_c.as_const(), sig_d.as_const(), &eval_err); + +			if (eval_err) +				return false; + +			set(sig_y, eval_ret);  		}  		return true;  | 
