Skip to content

Commit b41e397

Browse files
committed
Verilog: strengthen type of tc_binary_expr method
This avoids the need for a runtime check.
1 parent 118d042 commit b41e397

File tree

2 files changed

+3
-9
lines changed

2 files changed

+3
-9
lines changed

src/verilog/verilog_typecheck_expr.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2727,15 +2727,9 @@ Function: verilog_typecheck_exprt::tc_binary_expr
27272727
27282728
\*******************************************************************/
27292729

2730-
void verilog_typecheck_exprt::tc_binary_expr(exprt &expr)
2730+
void verilog_typecheck_exprt::tc_binary_expr(binary_exprt &expr)
27312731
{
2732-
if(expr.operands().size()!=2)
2733-
{
2734-
throw errort().with_location(expr.source_location())
2735-
<< "operator " << expr.id_string() << " takes two operands";
2736-
}
2737-
2738-
tc_binary_expr(expr, to_binary_expr(expr).op0(), to_binary_expr(expr).op1());
2732+
tc_binary_expr(expr, expr.op0(), expr.op1());
27392733
}
27402734

27412735
/*******************************************************************\

src/verilog/verilog_typecheck_expr.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ class verilog_typecheck_exprt:public verilog_typecheck_baset
191191
[[nodiscard]] exprt convert_power_expr(power_exprt);
192192
[[nodiscard]] exprt convert_shl_expr(shl_exprt);
193193
void implicit_typecast(exprt &, const typet &type);
194-
void tc_binary_expr(exprt &);
194+
void tc_binary_expr(binary_exprt &);
195195
void tc_binary_expr(const exprt &expr, exprt &op0, exprt &op1);
196196
void convert_relation(binary_exprt &);
197197
void no_bool_ops(exprt &);

0 commit comments

Comments
 (0)