@@ -2408,7 +2408,7 @@ static exprt zero_extend(const exprt &expr, const typet &type)
2408
2408
2409
2409
/* ******************************************************************\
2410
2410
2411
- Function: verilog_typecheck_exprt::typecheck_relation
2411
+ Function: verilog_typecheck_exprt::convert_relation
2412
2412
2413
2413
Inputs:
2414
2414
@@ -2418,11 +2418,14 @@ Function: verilog_typecheck_exprt::typecheck_relation
2418
2418
2419
2419
\*******************************************************************/
2420
2420
2421
- void verilog_typecheck_exprt::typecheck_relation (binary_exprt &expr)
2421
+ void verilog_typecheck_exprt::convert_relation (binary_exprt &expr)
2422
2422
{
2423
2423
auto &lhs = expr.lhs ();
2424
2424
auto &rhs = expr.rhs ();
2425
2425
2426
+ convert_expr (lhs);
2427
+ convert_expr (rhs);
2428
+
2426
2429
union_decay (lhs);
2427
2430
union_decay (rhs);
2428
2431
@@ -3062,10 +3065,7 @@ exprt verilog_typecheck_exprt::convert_binary_expr(binary_exprt expr)
3062
3065
{
3063
3066
expr.type ()=bool_typet ();
3064
3067
3065
- Forall_operands (it, expr)
3066
- convert_expr (*it);
3067
-
3068
- typecheck_relation (expr);
3068
+ convert_relation (expr);
3069
3069
3070
3070
return std::move (expr);
3071
3071
}
@@ -3074,10 +3074,7 @@ exprt verilog_typecheck_exprt::convert_binary_expr(binary_exprt expr)
3074
3074
expr.id () == ID_verilog_logical_inequality)
3075
3075
{
3076
3076
// == and !=
3077
- Forall_operands (it, expr)
3078
- convert_expr (*it);
3079
-
3080
- typecheck_relation (expr);
3077
+ convert_relation (expr);
3081
3078
3082
3079
// This returns 'x' if either of the operands contains x or z.
3083
3080
if (
@@ -3125,9 +3122,7 @@ exprt verilog_typecheck_exprt::convert_binary_expr(binary_exprt expr)
3125
3122
// a proper equality is performed.
3126
3123
expr.type ()=bool_typet ();
3127
3124
3128
- convert_expr (expr.lhs ());
3129
- convert_expr (expr.rhs ());
3130
- typecheck_relation (expr);
3125
+ convert_relation (expr);
3131
3126
3132
3127
// integral operands only
3133
3128
must_be_integral (expr.lhs ());
@@ -3140,10 +3135,7 @@ exprt verilog_typecheck_exprt::convert_binary_expr(binary_exprt expr)
3140
3135
{
3141
3136
expr.type ()=bool_typet ();
3142
3137
3143
- Forall_operands (it, expr)
3144
- convert_expr (*it);
3145
-
3146
- typecheck_relation (expr);
3138
+ convert_relation (expr);
3147
3139
no_bool_ops (expr);
3148
3140
3149
3141
return std::move (expr);
0 commit comments