@@ -342,9 +342,13 @@ goto_programt::const_targett goto_program2codet::convert_assign_varargs(
342
342
{this_va_list_expr});
343
343
f.arguments ().back ().type ().id (ID_gcc_builtin_va_list);
344
344
345
- side_effect_expr_function_callt type_of;
346
- type_of.function () =
347
- symbol_exprt (" __typeof__" , code_typet ({}, empty_typet ()));
345
+ // we do not bother to set the correct types here, they are not relevant for
346
+ // generating the correct dumped output
347
+ side_effect_expr_function_callt type_of (
348
+ symbol_exprt (" __typeof__" , code_typet ({}, empty_typet ())),
349
+ {},
350
+ typet{},
351
+ source_locationt{});
348
352
349
353
// if the return value is used, the next instruction will be assign
350
354
goto_programt::const_targett next=target;
@@ -486,9 +490,8 @@ goto_programt::const_targett goto_program2codet::convert_decl(
486
490
{
487
491
// could hack this by just erasing the first operand
488
492
const code_function_callt &f=to_code_function_call (next->code );
489
- side_effect_expr_function_callt call;
490
- call.function ()=f.function ();
491
- call.arguments ()=f.arguments ();
493
+ side_effect_expr_function_callt call (
494
+ f.function (), f.arguments (), typet{}, source_locationt{});
492
495
d.copy_to_operands (call);
493
496
}
494
497
@@ -1935,10 +1938,8 @@ void goto_program2codet::cleanup_expr(exprt &expr, bool no_typecast)
1935
1938
symbol_exprt symbol_expr (symbol.name , symbol.type );
1936
1939
symbol_expr.add_source_location ()=expr.source_location ();
1937
1940
1938
- side_effect_expr_function_callt call;
1939
- call.add_source_location ()=expr.source_location ();
1940
- call.function ()=symbol_expr;
1941
- call.type ()=expr.type ();
1941
+ side_effect_expr_function_callt call (
1942
+ symbol_expr, {}, expr.type (), expr.source_location ());
1942
1943
1943
1944
expr.swap (call);
1944
1945
}
0 commit comments