Replace function returns by assignments to global variables. More...
#include "remove_returns.h"#include <util/std_code.h>#include <util/std_expr.h>#include <util/suffix.h>#include <goto-symex/shadow_memory.h>#include "goto_model.h"#include "remove_skip.h"Go to the source code of this file.
function_call returns anything. Replace function returns by assignments to global variables.
Definition in file remove_returns.cpp.
Definition at line 25 of file remove_returns.cpp.
Check if the function_call returns anything.
Definition at line 430 of file remove_returns.cpp.
Returns true if id is a special return-value symbol produced by return_value_identifier.
Definition at line 420 of file remove_returns.cpp.
Returns true if symbol_expr is a special return-value symbol produced by return_value_symbol.
Definition at line 425 of file remove_returns.cpp.
Removes returns from a single function.
Only usable with Java programs at the moment; to use it with other languages, they must annotate their stub functions with ID_C_incomplete as currently done in java_bytecode_convert_method.cpp.
This will generate #return_value variables, if not already present, for both the function being altered and any callees.
Definition at line 278 of file remove_returns.cpp.
removes returns
Definition at line 287 of file remove_returns.cpp.
removes returns
Definition at line 259 of file remove_returns.cpp.
restores return statements
Definition at line 401 of file remove_returns.cpp.
produces the identifier that is used to store the return value of the function with the given identifier
Definition at line 407 of file remove_returns.cpp.
produces the symbol that is used to store the return value of the function with the given identifier
Definition at line 413 of file remove_returns.cpp.