12#ifdef REPORT_UNIMPLEMENTED_EXPRESSION_CHECKS
19#define CALL_ON_EXPR(expr_type) \
20 C<exprt, expr_type>()(expr, std::forward<Args>(args)...)
22template <
template <
typename,
typename>
class C,
typename...
Args>
47#ifdef REPORT_UNIMPLEMENTED_EXPRESSION_CHECKS
48 std::cerr <<
"Unimplemented well-formedness check for expression with id: "
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Operator to dereference a pointer.
Base class for all expressions.
const std::string & id_string() const
const irep_idt & id() const
Extract member of struct or union.
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
The plus expression Associativity is not specified.
Expression providing an SSA-renamed symbol of expressions.
API to expression classes for Pointers.
bool is_ssa_expr(const exprt &expr)
void check_expr(const exprt &expr, const validation_modet vm)
Check that the given expression is well-formed (shallow checks only, i.e., subexpressions and its typ...
void validate_full_expr(const exprt &expr, const namespacet &ns, const validation_modet vm)
Check that the given expression is well-formed (full check, including checks of all subexpressions an...
void validate_expr(const exprt &expr, const namespacet &ns, const validation_modet vm)
Check that the given expression is well-formed, assuming that its subexpression and type have already...
void call_on_expr(const exprt &expr, Args &&... args)
#define CALL_ON_EXPR(expr_type)