@@ -60,7 +60,7 @@ void rd_range_domaint::transform(
60
60
locationt to,
61
61
ai_baset &ai,
62
62
const namespacet &ns,
63
- ai_domain_baset::edge_typet /* edge_type*/ )
63
+ ai_domain_baset::edge_typet edge_type)
64
64
{
65
65
reaching_definitions_analysist *rd=
66
66
dynamic_cast <reaching_definitions_analysist*>(&ai);
@@ -79,7 +79,7 @@ void rd_range_domaint::transform(
79
79
transform_start_thread (ns, *rd);
80
80
// do argument-to-parameter assignments
81
81
else if (from->is_function_call ())
82
- transform_function_call (ns, from, to, *rd);
82
+ transform_function_call (ns, from, to, *rd, edge_type );
83
83
// cleanup parameters
84
84
else if (from->is_end_function ())
85
85
transform_end_function (ns, from, to, *rd);
@@ -170,15 +170,13 @@ void rd_range_domaint::transform_function_call(
170
170
const namespacet &ns,
171
171
locationt from,
172
172
locationt to,
173
- reaching_definitions_analysist &rd)
173
+ reaching_definitions_analysist &rd,
174
+ ai_domain_baset::edge_typet edge_type)
174
175
{
175
176
const code_function_callt &code=to_code_function_call (from->code );
176
177
177
- goto_programt::const_targett next=from;
178
- ++next;
179
-
180
178
// only if there is an actual call, i.e., we have a body
181
- if (next!=to )
179
+ if (edge_type != ai_domain_baset::edge_typet::FUNCTION_LOCAL )
182
180
{
183
181
for (valuest::iterator it=values.begin ();
184
182
it!=values.end ();
0 commit comments