12 #ifndef CPROVER_GOTO_SYMEX_GOTO_SYMEX_CAN_FORWARD_PROPAGATE_H
13 #define CPROVER_GOTO_SYMEX_GOTO_SYMEX_CAN_FORWARD_PROPAGATE_H
29 if(expr.
id() == ID_mult)
31 bool found_non_constant =
false;
34 for(
const auto &op : expr.
operands())
36 if(op.find(ID_C_c_sizeof_type).is_not_nil())
39 found_non_constant =
true;
42 return !found_non_constant;
44 else if(expr.
id() == ID_with)
48 for(
const auto &op : expr.
operands())
Determine whether an expression is constant.
virtual bool is_constant(const exprt &) const
This function determines what expressions are to be propagated as "constants".
Base class for all expressions.
goto_symex_can_forward_propagatet(const namespacet &ns)
bool is_constant(const exprt &expr) const override
This function determines what expressions are to be propagated as "constants".
const irep_idt & id() const
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Deprecated expression utility functions.