39 else if(t.
id().empty() ||
69 out <<
" is_enum_constant";
73 out <<
" is_parameter";
77 out <<
" is_register";
79 out <<
" is_thread_local";
85 out <<
" is_static_assert";
91 out <<
"Declarator: " <<
declarator.pretty() <<
"\n";
133 symbol.pretty_name=symbol.name;
149 symbol.is_static_lifetime=
false;
150 symbol.is_thread_local=
false;
169 symbol.is_extern=
false;
171 symbol.is_file_local=
true;
177 symbol.is_static_lifetime=
182 symbol.is_thread_local=
186 symbol.is_file_local =
ANSI-CC Language Type Checking.
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
const ansi_c_declaratort & declarator() const
symbolt to_symbol(const ansi_c_declaratort &) const
bool get_is_extern() const
const declaratorst & declarators() const
bool get_is_parameter() const
bool get_is_inline() const
typet full_type(const ansi_c_declaratort &) const
bool get_is_enum_constant() const
bool get_is_static() const
bool get_is_register() const
bool get_is_global() const
bool get_is_thread_local() const
bool get_is_typedef() const
bool get_is_static_assert() const
void output(std::ostream &) const
void set_base_name(const irep_idt &base_name)
struct configt::ansi_ct ansi_c
typet & type()
Return the type of the expression.
source_locationt & add_source_location()
There are a large number of kinds of tree structured or tree-like data in CPROVER.
std::string pretty(unsigned indent=0, unsigned max_indent=0) const
const irep_idt & get(const irep_idt &name) const
void set(const irep_idt &name, const irep_idt &value)
const irep_idt & id() const
The type of an expression, extends irept.
const source_locationt & source_location() const
const merged_typet & to_merged_type(const typet &type)
conversion to merged_typet
#define UNREACHABLE
This should be used to mark dead code.
const code_typet & to_code_type(const typet &type)
Cast a typet to a code_typet.