@@ -77,18 +77,20 @@ void goto_unwindt::copy_segment(
7777}
7878
7979void goto_unwindt::unwind (
80+ const irep_idt &function_identifier,
8081 goto_programt &goto_program,
8182 const goto_programt::const_targett loop_head,
8283 const goto_programt::const_targett loop_exit,
8384 const unsigned k,
8485 const unwind_strategyt unwind_strategy)
8586{
8687 std::vector<goto_programt::targett> iteration_points;
87- unwind (goto_program, loop_head, loop_exit, k, unwind_strategy,
88+ unwind (function_identifier, goto_program, loop_head, loop_exit, k, unwind_strategy,
8889 iteration_points);
8990}
9091
9192void goto_unwindt::unwind (
93+ const irep_idt &function_identifier,
9294 goto_programt &goto_program,
9395 const goto_programt::const_targett loop_head,
9496 const goto_programt::const_targett loop_exit,
@@ -257,6 +259,7 @@ void goto_unwindt::unwind(
257259}
258260
259261void goto_unwindt::unwind (
262+ const irep_idt &function_identifier,
260263 goto_programt &goto_program,
261264 const unwindsett &unwindset,
262265 const unwind_strategyt unwind_strategy)
@@ -277,7 +280,7 @@ void goto_unwindt::unwind(
277280 continue ;
278281 }
279282
280- const irep_idt func=i_it-> function ;
283+ const irep_idt func=function_identifier ;
281284 assert (!func.empty ());
282285
283286 const irep_idt loop_id=
@@ -297,7 +300,7 @@ void goto_unwindt::unwind(
297300 loop_exit++;
298301 assert (loop_exit!=goto_program.instructions .end ());
299302
300- unwind (goto_program, loop_head, loop_exit, *limit, unwind_strategy);
303+ unwind (function_identifier, goto_program, loop_head, loop_exit, *limit, unwind_strategy);
301304
302305 // necessary as we change the goto program in the previous line
303306 i_it=loop_exit;
@@ -322,7 +325,7 @@ void goto_unwindt::operator()(
322325
323326 goto_programt &goto_program=goto_function.body ;
324327
325- unwind (goto_program, unwindset, unwind_strategy);
328+ unwind (it-> first , goto_program, unwindset, unwind_strategy);
326329 }
327330}
328331
0 commit comments