14#ifndef CPROVER_ANSI_C_GCC_CONDITIONAL_EXPRESSION_H
15#define CPROVER_ANSI_C_GCC_CONDITIONAL_EXPRESSION_H
58 expr.
id() == ID_side_effect &&
60 ID_gcc_conditional_expression &&
A base class for binary expressions.
Base class for all expressions.
typet & type()
Return the type of the expression.
const source_locationt & source_location() const
source_locationt & add_source_location()
The trinary if-then-else operator.
const irep_idt & id() const
An expression containing a side effect.
const irep_idt & get_statement() const
static exprt conditional_cast(const exprt &expr, const typet &type)
if_exprt lower_gcc_conditional_expression(const side_effect_exprt &expr)
Lower a single GCC conditional expression with omitted middle operand.
void lower_gcc_conditional_expressions(exprt &expr)
Recursively lower all GCC conditional expressions with omitted middle operand in expr.
static std::string binary(const constant_exprt &src)
#define PRECONDITION(CONDITION)
side_effect_exprt & to_side_effect_expr(exprt &expr)
API to expression classes.
const binary_exprt & to_binary_expr(const exprt &expr)
Cast an exprt to a binary_exprt.