File tree Expand file tree Collapse file tree 2 files changed +7
-4
lines changed Expand file tree Collapse file tree 2 files changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -150,9 +150,12 @@ class remove_function_pointerst
150
150
// / if (fp=&f1) then goto loc1
151
151
// / if (fp=&f2) then goto loc2
152
152
// / ..
153
- // / loc1: f1(); goto N+1;
154
- // / loc2: f2(); goto N+1;
153
+ // / if (fp=&fn) then goto locN
154
+ // / loc1: f1(); goto N+1;
155
+ // / loc2: f2(); goto N+1;
155
156
// / ..
157
+ // / locN: fn(); goto N+1;
158
+ // / locN+1:
156
159
// /
157
160
// / \param functions: set of function candidates
158
161
// / \param code: the original function call
Original file line number Diff line number Diff line change @@ -196,8 +196,8 @@ bool remove_returnst::do_function_calls(
196
196
INVARIANT (
197
197
function_call.function ().id () == ID_symbol ||
198
198
function_call.function ().id () == ID_dereference,
199
- " indirect function calls should have been removed prior to running "
200
- " remove-returns " );
199
+ " only direct function calls (via a symbol) or indirect function calls "
200
+ " (via a dereference) are supported " );
201
201
202
202
bool is_function_pointer = function_call.function ().id () == ID_dereference;
203
203
You can’t perform that action at this time.
0 commit comments