Skip to content

Commit e2a5430

Browse files
authored
Merge pull request #3885 from tautschnig/deprecation-code_function_callt
Use non-trivial constructor of code_function_callt [blocks: #3800]
2 parents 8af67d1 + e4b09e7 commit e2a5430

File tree

1 file changed

+14
-16
lines changed

1 file changed

+14
-16
lines changed

src/goto-instrument/goto_program2code.cpp

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -315,33 +315,31 @@ goto_programt::const_targett goto_program2codet::convert_assign_varargs(
315315
const exprt this_va_list_expr=assign.lhs();
316316
const exprt &r=skip_typecast(assign.rhs());
317317

318-
// we don't bother setting the type
319-
code_function_callt f;
320-
f.lhs().make_nil();
321-
322318
if(r.id()==ID_constant &&
323319
(r.is_zero() || to_constant_expr(r).get_value()==ID_NULL))
324320
{
325-
f.function() = symbol_exprt("va_end", code_typet({}, empty_typet()));
326-
f.arguments().push_back(this_va_list_expr);
321+
code_function_callt f(
322+
symbol_exprt("va_end", code_typet({}, empty_typet())),
323+
{this_va_list_expr});
327324
f.arguments().back().type().id(ID_gcc_builtin_va_list);
328325

329326
dest.add_to_operands(std::move(f));
330327
}
331328
else if(r.id()==ID_address_of)
332329
{
333-
f.function() = symbol_exprt("va_start", code_typet({}, empty_typet()));
334-
f.arguments().push_back(this_va_list_expr);
335-
f.arguments().back().type().id(ID_gcc_builtin_va_list);
336-
f.arguments().push_back(to_address_of_expr(r).object());
330+
code_function_callt f(
331+
symbol_exprt("va_start", code_typet({}, empty_typet())),
332+
{this_va_list_expr, to_address_of_expr(r).object()});
333+
f.arguments().front().type().id(ID_gcc_builtin_va_list);
337334

338335
dest.add_to_operands(std::move(f));
339336
}
340337
else if(r.id()==ID_side_effect &&
341338
to_side_effect_expr(r).get_statement()==ID_gcc_builtin_va_arg_next)
342339
{
343-
f.function() = symbol_exprt("va_arg", code_typet({}, empty_typet()));
344-
f.arguments().push_back(this_va_list_expr);
340+
code_function_callt f(
341+
symbol_exprt("va_arg", code_typet({}, empty_typet())),
342+
{this_va_list_expr});
345343
f.arguments().back().type().id(ID_gcc_builtin_va_list);
346344

347345
side_effect_expr_function_callt type_of;
@@ -388,10 +386,10 @@ goto_programt::const_targett goto_program2codet::convert_assign_varargs(
388386
}
389387
else
390388
{
391-
f.function() = symbol_exprt("va_copy", code_typet({}, empty_typet()));
392-
f.arguments().push_back(this_va_list_expr);
393-
f.arguments().back().type().id(ID_gcc_builtin_va_list);
394-
f.arguments().push_back(r);
389+
code_function_callt f(
390+
symbol_exprt("va_copy", code_typet({}, empty_typet())),
391+
{this_va_list_expr, r});
392+
f.arguments().front().type().id(ID_gcc_builtin_va_list);
395393

396394
dest.add_to_operands(std::move(f));
397395
}

0 commit comments

Comments
 (0)