|
cprover
|
Remove Indirect Function Calls. More...
Include dependency graph for remove_function_pointers.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Functions | |
| void | remove_function_pointers (message_handlert &_message_handler, goto_modelt &goto_model, bool add_safety_assertion, bool only_remove_const_fps=false) |
| void | remove_function_pointers (message_handlert &_message_handler, symbol_tablet &symbol_table, goto_functionst &goto_functions, bool add_safety_assertion, bool only_remove_const_fps=false) |
| bool | remove_function_pointers (message_handlert &_message_handler, symbol_tablet &symbol_table, const goto_functionst &goto_functions, goto_programt &goto_program, const irep_idt &function_id, bool add_safety_assertion, bool only_remove_const_fps=false) |
| void | remove_function_pointer (message_handlert &message_handler, symbol_tablet &symbol_table, goto_programt &goto_program, const irep_idt &function_id, goto_programt::targett target, const std::unordered_set< symbol_exprt, irep_hash > &functions, const bool add_safety_assertion) |
| Replace a call to a dynamic function at location target in the given goto-program by a case-split over a given set of functions. | |
| bool | function_is_type_compatible (bool return_value_used, const code_typet &call_type, const code_typet &function_type, const namespacet &ns) |
Returns true iff call_type can be converted to produce a function call of the same type as function_type. | |
Remove Indirect Function Calls.
Definition in file remove_function_pointers.h.
| bool function_is_type_compatible | ( | bool | return_value_used, |
| const code_typet & | call_type, | ||
| const code_typet & | function_type, | ||
| const namespacet & | ns | ||
| ) |
Returns true iff call_type can be converted to produce a function call of the same type as function_type.
Definition at line 131 of file remove_function_pointers.cpp.
| void remove_function_pointer | ( | message_handlert & | message_handler, |
| symbol_tablet & | symbol_table, | ||
| goto_programt & | goto_program, | ||
| const irep_idt & | function_id, | ||
| goto_programt::targett | target, | ||
| const std::unordered_set< symbol_exprt, irep_hash > & | functions, | ||
| const bool | add_safety_assertion | ||
| ) |
Replace a call to a dynamic function at location target in the given goto-program by a case-split over a given set of functions.
| message_handler | Message handler to print warnings |
| symbol_table | Symbol table |
| goto_program | The goto program that contains target |
| function_id | Name of function containing the target |
| target | location with function call with function pointer |
| functions | The set of functions to consider |
| add_safety_assertion | Iff true, include an assertion that the |
Definition at line 376 of file remove_function_pointers.cpp.
| void remove_function_pointers | ( | message_handlert & | _message_handler, |
| goto_modelt & | goto_model, | ||
| bool | add_safety_assertion, | ||
| bool | only_remove_const_fps = false |
||
| ) |
Definition at line 574 of file remove_function_pointers.cpp.
| bool remove_function_pointers | ( | message_handlert & | _message_handler, |
| symbol_tablet & | symbol_table, | ||
| const goto_functionst & | goto_functions, | ||
| goto_programt & | goto_program, | ||
| const irep_idt & | function_id, | ||
| bool | add_safety_assertion, | ||
| bool | only_remove_const_fps = false |
||
| ) |
Definition at line 536 of file remove_function_pointers.cpp.
| void remove_function_pointers | ( | message_handlert & | _message_handler, |
| symbol_tablet & | symbol_table, | ||
| goto_functionst & | goto_functions, | ||
| bool | add_safety_assertion, | ||
| bool | only_remove_const_fps = false |
||
| ) |
Definition at line 556 of file remove_function_pointers.cpp.