@@ -150,10 +150,10 @@ void goto_symext::symex_allocate(
150150
151151 state.symbol_table .add (size_symbol);
152152
153- code_assignt assignment (size_symbol. symbol_expr (), array_size) ;
154- array_size = assignment. lhs ();
153+ auto array_size_rhs = array_size;
154+ array_size = size_symbol. symbol_expr ();
155155
156- symex_assign (state, assignment );
156+ symex_assign (state, size_symbol. symbol_expr (), array_size_rhs );
157157 }
158158 }
159159
@@ -181,15 +181,14 @@ void goto_symext::symex_allocate(
181181 const auto zero_value =
182182 zero_initializer (*object_type, code.source_location (), ns);
183183 CHECK_RETURN (zero_value.has_value ());
184- code_assignt assignment (value_symbol.symbol_expr (), *zero_value);
185- symex_assign (state, assignment);
184+ symex_assign (state, value_symbol.symbol_expr (), *zero_value);
186185 }
187186 else
188187 {
189- const code_assignt assignment{
190- value_symbol. symbol_expr (),
191- path_storage.build_symex_nondet (*object_type, code.source_location ())} ;
192- symex_assign (state, assignment );
188+ auto lhs = value_symbol. symbol_expr ();
189+ auto rhs =
190+ path_storage.build_symex_nondet (*object_type, code.source_location ());
191+ symex_assign (state, lhs, rhs );
193192 }
194193
195194 exprt rhs;
@@ -207,9 +206,7 @@ void goto_symext::symex_allocate(
207206 value_symbol.symbol_expr (), pointer_type (value_symbol.type ));
208207 }
209208
210- symex_assign (
211- state,
212- code_assignt (lhs, typecast_exprt::conditional_cast (rhs, lhs.type ())));
209+ symex_assign (state, lhs, typecast_exprt::conditional_cast (rhs, lhs.type ()));
213210}
214211
215212// / Construct an entry for the var args array. Visual Studio complicates this as
@@ -297,14 +294,12 @@ void goto_symext::symex_va_start(
297294 array = clean_expr (std::move (array), state, false );
298295 array = state.rename (std::move (array), ns).get ();
299296 do_simplify (array);
300- symex_assign (state, code_assignt{ va_array.symbol_expr (), std::move (array)} );
297+ symex_assign (state, va_array.symbol_expr (), std::move (array));
301298
302299 exprt rhs = address_of_exprt{
303300 index_exprt{va_array.symbol_expr (), from_integer (0 , index_type ())}};
304301 rhs = state.rename (std::move (rhs), ns).get ();
305- symex_assign (
306- state,
307- code_assignt{lhs, typecast_exprt::conditional_cast (rhs, lhs.type ())});
302+ symex_assign (state, lhs, typecast_exprt::conditional_cast (rhs, lhs.type ()));
308303}
309304
310305static irep_idt get_string_argument_rec (const exprt &src)
@@ -533,7 +528,7 @@ void goto_symext::symex_cpp_new(
533528 else
534529 rhs.copy_to_operands (symbol.symbol_expr ());
535530
536- symex_assign (state, code_assignt ( lhs, rhs) );
531+ symex_assign (state, lhs, rhs);
537532}
538533
539534void goto_symext::symex_cpp_delete (
0 commit comments