10#ifndef CPROVER_CPP_CPP_TYPECAST_H
11#define CPROVER_CPP_CPP_TYPECAST_H
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
bool integral_conversion(const typet &src_type, const typet &dest_type)
virtual void implicit_typecast_arithmetic(exprt &expr)
virtual void implicit_typecast_arithmetic(exprt &expr1, exprt &expr2)
cpp_typecastt(cpp_typecheckt &cpp_typecheck)
bool subtype_typecast(const typet &from, const typet &to, std::string &err)
void get_bases(const irep_idt &identifier, std::map< irep_idt, unsigned > &base_count)
exprt subtype_offset(const struct_typet &from, const struct_typet &to)
virtual void implicit_typecast_followed(exprt &expr, const typet &src_type, const typet &dest_type)
void check_qualifiers(const typet &from, const typet &to)
virtual void implicit_typecast(exprt &expr, const typet &type)
void make_ptr_typecast(exprt &expr, const typet &src_type, const typet &dest_type)
cpp_typecheckt & cpp_typecheck
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Base class for all expressions.
Structure type, corresponds to C style structs.
The type of an expression, extends irept.
void err(int eval, const char *fmt,...)