Skip to content

Commit 878a1c1

Browse files
authored
Merge pull request #1280 from diffblue/convert_relation
cleanup verilog_typecheck_exprt::typecheck_relation
2 parents 1f72203 + 61b49d4 commit 878a1c1

File tree

2 files changed

+10
-18
lines changed

2 files changed

+10
-18
lines changed

src/verilog/verilog_typecheck_expr.cpp

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2408,7 +2408,7 @@ static exprt zero_extend(const exprt &expr, const typet &type)
24082408

24092409
/*******************************************************************\
24102410
2411-
Function: verilog_typecheck_exprt::typecheck_relation
2411+
Function: verilog_typecheck_exprt::convert_relation
24122412
24132413
Inputs:
24142414
@@ -2418,11 +2418,14 @@ Function: verilog_typecheck_exprt::typecheck_relation
24182418
24192419
\*******************************************************************/
24202420

2421-
void verilog_typecheck_exprt::typecheck_relation(binary_exprt &expr)
2421+
void verilog_typecheck_exprt::convert_relation(binary_exprt &expr)
24222422
{
24232423
auto &lhs = expr.lhs();
24242424
auto &rhs = expr.rhs();
24252425

2426+
convert_expr(lhs);
2427+
convert_expr(rhs);
2428+
24262429
union_decay(lhs);
24272430
union_decay(rhs);
24282431

@@ -3062,10 +3065,7 @@ exprt verilog_typecheck_exprt::convert_binary_expr(binary_exprt expr)
30623065
{
30633066
expr.type()=bool_typet();
30643067

3065-
Forall_operands(it, expr)
3066-
convert_expr(*it);
3067-
3068-
typecheck_relation(expr);
3068+
convert_relation(expr);
30693069

30703070
return std::move(expr);
30713071
}
@@ -3074,10 +3074,7 @@ exprt verilog_typecheck_exprt::convert_binary_expr(binary_exprt expr)
30743074
expr.id() == ID_verilog_logical_inequality)
30753075
{
30763076
// == and !=
3077-
Forall_operands(it, expr)
3078-
convert_expr(*it);
3079-
3080-
typecheck_relation(expr);
3077+
convert_relation(expr);
30813078

30823079
// This returns 'x' if either of the operands contains x or z.
30833080
if(
@@ -3125,9 +3122,7 @@ exprt verilog_typecheck_exprt::convert_binary_expr(binary_exprt expr)
31253122
// a proper equality is performed.
31263123
expr.type()=bool_typet();
31273124

3128-
convert_expr(expr.lhs());
3129-
convert_expr(expr.rhs());
3130-
typecheck_relation(expr);
3125+
convert_relation(expr);
31313126

31323127
// integral operands only
31333128
must_be_integral(expr.lhs());
@@ -3140,10 +3135,7 @@ exprt verilog_typecheck_exprt::convert_binary_expr(binary_exprt expr)
31403135
{
31413136
expr.type()=bool_typet();
31423137

3143-
Forall_operands(it, expr)
3144-
convert_expr(*it);
3145-
3146-
typecheck_relation(expr);
3138+
convert_relation(expr);
31473139
no_bool_ops(expr);
31483140

31493141
return std::move(expr);

src/verilog/verilog_typecheck_expr.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ class verilog_typecheck_exprt:public verilog_typecheck_baset
190190
void implicit_typecast(exprt &, const typet &type);
191191
void tc_binary_expr(exprt &);
192192
void tc_binary_expr(const exprt &expr, exprt &op0, exprt &op1);
193-
void typecheck_relation(binary_exprt &);
193+
void convert_relation(binary_exprt &);
194194
void no_bool_ops(exprt &);
195195
void must_be_integral(const exprt &);
196196

0 commit comments

Comments
 (0)