Go to the documentation of this file.
10 #ifndef CPROVER_ANSI_C_C_TYPECAST_H
11 #define CPROVER_ANSI_C_C_TYPECAST_H
26 const typet &src_type,
27 const typet &dest_type);
30 const typet &src_type,
31 const typet &dest_type,
36 const typet &dest_type,
98 const typet &src_type,
99 const typet &orig_dest_type,
100 const typet &dest_type);
107 #endif // CPROVER_ANSI_C_C_TYPECAST_H
The type of an expression, extends irept.
bool check_c_implicit_typecast(const typet &src_type, const typet &dest_type)
Base class for all expressions.
c_typet minimum_promotion(const typet &type) const
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
c_typet get_c_type(const typet &type) const
std::list< std::string > warnings
virtual void implicit_typecast_followed(exprt &expr, const typet &src_type, const typet &orig_dest_type, const typet &dest_type)
virtual void implicit_typecast_arithmetic(exprt &expr)
bool c_implicit_typecast_arithmetic(exprt &expr1, exprt &expr2, const namespacet &ns)
perform arithmetic prompotions and conversions
std::list< std::string > errors
bool c_implicit_typecast(exprt &expr, const typet &dest_type, const namespacet &ns)
virtual void implicit_typecast(exprt &expr, const typet &type)
typet follow_with_qualifiers(const typet &src)
void do_typecast(exprt &dest, const typet &type)
c_typecastt(const namespacet &_ns)