@@ -35,25 +35,31 @@ class value_set_analysis_fivrt:
35
35
36
36
typedef flow_insensitive_analysist<value_set_domain_fivrt> baset;
37
37
38
- virtual void initialize (const goto_programt &goto_program);
39
- virtual void initialize (const goto_functionst &goto_functions);
38
+ void initialize (const goto_programt &goto_program) override ;
39
+ void initialize (const goto_functionst &goto_functions) override ;
40
40
41
41
using baset::output;
42
- void output (locationt l, std::ostream &out)
42
+ void output (
43
+ const irep_idt &function_identifier,
44
+ locationt l,
45
+ std::ostream &out)
43
46
{
44
- state.value_set .set_from (l-> function , l->location_number );
45
- state.value_set .set_to (l-> function , l->location_number );
47
+ state.value_set .set_from (function_identifier , l->location_number );
48
+ state.value_set .set_to (function_identifier , l->location_number );
46
49
state.output (ns, out);
47
50
}
48
51
49
- void output (const goto_programt &goto_program, std::ostream &out)
52
+ void output (
53
+ const irep_idt &function_identifier,
54
+ const goto_programt &goto_program,
55
+ std::ostream &out) override
50
56
{
51
57
forall_goto_program_instructions (it, goto_program)
52
58
{
53
59
out << " **** " << it->source_location << ' \n ' ;
54
- output (it, out);
60
+ output (function_identifier, it, out);
55
61
out << ' \n ' ;
56
- goto_program.output_instruction (ns, " " , out, *it);
62
+ goto_program.output_instruction (ns, function_identifier , out, *it);
57
63
out << ' \n ' ;
58
64
}
59
65
}
@@ -78,15 +84,16 @@ class value_set_analysis_fivrt:
78
84
79
85
public:
80
86
// interface value_sets
81
- virtual void get_values (
87
+ void get_values (
88
+ const irep_idt &function_identifier,
82
89
locationt l,
83
90
const exprt &expr,
84
- std::list<exprt> &dest)
91
+ std::list<exprt> &dest) override
85
92
{
86
93
state.value_set .from_function =
87
- state.value_set .function_numbering .number (l-> function );
94
+ state.value_set .function_numbering .number (function_identifier );
88
95
state.value_set .to_function =
89
- state.value_set .function_numbering .number (l-> function );
96
+ state.value_set .function_numbering .number (function_identifier );
90
97
state.value_set .from_target_index = l->location_number ;
91
98
state.value_set .to_target_index = l->location_number ;
92
99
state.value_set .get_value_set (expr, dest, ns);
0 commit comments