CBMC
|
Verify and use annotated loop and function contracts. More...
#include "contracts.h"
#include <util/c_types.h>
#include <util/exception_utils.h>
#include <util/expr_util.h>
#include <util/find_symbols.h>
#include <util/format_expr.h>
#include <util/fresh_symbol.h>
#include <util/graph.h>
#include <util/mathematical_expr.h>
#include <util/message.h>
#include <util/std_code.h>
#include <goto-programs/goto_inline.h>
#include <goto-programs/goto_program.h>
#include <goto-programs/remove_skip.h>
#include <analyses/local_may_alias.h>
#include <ansi-c/c_expr.h>
#include <goto-instrument/havoc_utils.h>
#include <goto-instrument/nondet_static.h>
#include <goto-instrument/unwind.h>
#include <goto-instrument/unwindset.h>
#include <langapi/language_util.h>
#include "cfg_info.h"
#include "havoc_assigns_clause_targets.h"
#include "inlining_decorator.h"
#include "instrument_spec_assigns.h"
#include "memory_predicates.h"
#include "utils.h"
#include <algorithm>
#include <map>
Go to the source code of this file.
Functions | |
static void | throw_on_unsupported (const goto_programt &program) |
Throws an exception if a contract uses unsupported constructs like: More... | |
static void | generate_contract_constraints (symbol_tablet &symbol_table, goto_convertt &converter, exprt &instantiated_clause, const irep_idt &mode, const std::function< void(goto_programt &)> &is_fresh_update, goto_programt &program, const source_locationt &location) |
This function generates instructions for all contract constraint, i.e., assumptions and assertions based on requires and ensures clauses. More... | |
static const code_with_contract_typet & | get_contract (const irep_idt &function, const namespacet &ns) |
Verify and use annotated loop and function contracts.
Definition in file contracts.cpp.
|
static |
This function generates instructions for all contract constraint, i.e., assumptions and assertions based on requires and ensures clauses.
Definition at line 561 of file contracts.cpp.
|
static |
Definition at line 589 of file contracts.cpp.
|
static |
Throws an exception if a contract uses unsupported constructs like:
Definition at line 543 of file contracts.cpp.