@@ -121,12 +121,13 @@ void goto_symext::rewrite_quantifiers(exprt &expr, statet &state)
121
121
void goto_symext::initialize_entry_point (
122
122
statet &state,
123
123
const get_goto_functiont &get_goto_function,
124
+ const irep_idt &function_identifier,
124
125
const goto_programt::const_targett pc,
125
126
const goto_programt::const_targett limit)
126
127
{
127
128
PRECONDITION (!state.threads .empty ());
128
129
PRECONDITION (!state.call_stack ().empty ());
129
- state.source = symex_targett::sourcet (pc);
130
+ state.source = symex_targett::sourcet (function_identifier, pc);
130
131
state.top ().end_of_function =limit;
131
132
state.top ().calling_location .pc =state.top ().end_of_function ;
132
133
state.symex_target =⌖
@@ -250,22 +251,29 @@ void goto_symext::resume_symex_from_saved_state(
250
251
void goto_symext::symex_instruction_range (
251
252
statet &state,
252
253
const goto_functionst &goto_functions,
254
+ const irep_idt &function_identifier,
253
255
const goto_programt::const_targett first,
254
256
const goto_programt::const_targett limit)
255
257
{
256
258
symex_instruction_range (
257
- state, get_function_from_goto_functions (goto_functions), first, limit);
259
+ state,
260
+ get_function_from_goto_functions (goto_functions),
261
+ function_identifier,
262
+ first,
263
+ limit);
258
264
}
259
265
260
266
void goto_symext::symex_instruction_range (
261
267
statet &state,
262
268
const get_goto_functiont &get_goto_function,
269
+ const irep_idt &function_identifier,
263
270
const goto_programt::const_targett first,
264
271
const goto_programt::const_targett limit)
265
272
{
266
- initialize_entry_point (state, get_goto_function, first, limit);
273
+ initialize_entry_point (
274
+ state, get_goto_function, function_identifier, first, limit);
267
275
ns = namespacet (outer_symbol_table, state.symbol_table );
268
- while (state.source .pc -> function != limit->function || state.source .pc != limit)
276
+ while (state.source .function != limit->function || state.source .pc != limit)
269
277
symex_threaded_step (state, get_goto_function);
270
278
}
271
279
@@ -296,6 +304,7 @@ void goto_symext::symex_from_entry_point_of(
296
304
initialize_entry_point (
297
305
state,
298
306
get_goto_function,
307
+ goto_functionst::entry_point (),
299
308
start_function->body .instructions .begin (),
300
309
prev (start_function->body .instructions .end ()));
301
310
0 commit comments