Skip to content

Commit 38461cc

Browse files
committed
Use (non-trivial) constructors for exprt/codet
This is more efficient, type safe, and easier to read.
1 parent c8f3fd6 commit 38461cc

File tree

2 files changed

+3
-5
lines changed

2 files changed

+3
-5
lines changed

src/ansi-c/c_typecheck_expr.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1270,8 +1270,7 @@ void c_typecheck_baset::typecheck_expr_index(exprt &expr)
12701270
// p[i] is syntactic sugar for *(p+i)
12711271

12721272
typecheck_arithmetic_pointer(expr.op0());
1273-
exprt addition(ID_plus, array_expr.type());
1274-
addition.operands().swap(expr.operands());
1273+
plus_exprt addition(exprt::operandst(expr.operands()), array_expr.type());
12751274
expr.add_to_operands(std::move(addition));
12761275
expr.id(ID_dereference);
12771276
expr.set(ID_C_lvalue, true);

src/cpp/cpp_typecheck_conversions.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1394,9 +1394,8 @@ bool cpp_typecheckt::reference_binding(
13941394
{
13951395
{
13961396
// create temporary object
1397-
exprt tmp=exprt(ID_side_effect, type.subtype());
1398-
tmp.set(ID_statement, ID_temporary_object);
1399-
tmp.add_source_location()=expr.source_location();
1397+
side_effect_exprt tmp(
1398+
ID_temporary_object, type.subtype(), expr.source_location());
14001399
// tmp.set(ID_C_lvalue, true);
14011400
tmp.add_to_operands(std::move(new_expr));
14021401
new_expr.swap(tmp);

0 commit comments

Comments
 (0)