24 : library(library), message_handler(message_handler),
log(message_handler)
48 if(target->is_function_call())
50 const auto &function = target->call_function();
58 target->call_arguments()[0] =
66 if(function.source_location().get_bool(
"no_fail"))
69 target->call_arguments().push_back(
true_exprt());
72 target->call_arguments().push_back(cfg_info.
get_write_set(target));
Operator to return the address of an object.
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Computes natural loops, enforces normal form conditions, computes the nesting graph,...
const exprt & get_write_set(goto_programt::const_targett target) const
Returns the write set variable to use for the given instruction Returns the write set for the loop,...
void rewrite_calls(goto_programt &program, dfcc_cfg_infot &cfg_info)
Rewrites calls to is_fresh predicates into calls to the library implementation in the given program,...
dfcc_is_fresht(dfcc_libraryt &library, message_handlert &message_handler)
Class interface to library types and functions defined in cprover_contracts.c.
std::map< dfcc_funt, symbolt > dfcc_fun_symbol
Maps enum values to the actual function symbols (dynamically loaded)
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
The Boolean constant false.
A generic container class for the GOTO intermediate representation of one function.
instructionst instructions
The list of instructions in the goto program.
instructionst::iterator targett
The Boolean constant true.
bool has_prefix(const std::string &s, const std::string &prefix)
Class that computes CFG information about the loop structure of a GOTO function for the purpose of dy...
Instruments occurrences of is_fresh predicates in programs encoding requires and ensures clauses of c...
Dynamic frame condition checking library loading.
const std::string & id2string(const irep_idt &d)
API to expression classes for Pointers.
const symbol_exprt & to_symbol_expr(const exprt &expr)
Cast an exprt to a symbol_exprt.