34 symbol_tablet::symbolst::iterator s_it=
37 if(s_it==symbol_table.
symbols.end())
40 symbolt &init_symbol=s_it->second;
53 std::set<std::string> symbols;
58 for(
const std::string &
id : symbols)
73 identifier==
"__func__" ||
74 identifier==
"__FUNCTION__" ||
75 identifier==
"__PRETTY_FUNCTION__" ||
76 identifier==
"argc'" ||
77 identifier==
"argv'" ||
78 identifier==
"envp'" ||
79 identifier==
"envp_size'")
89 if(type.
id()==ID_code ||
102 if(type.
id()==ID_array &&
107 symbol_tablet::symbolst::iterator it=
108 symbol_table.
symbols.find(identifier);
109 assert(it!=symbol_table.
symbols.end());
111 it->second.type=type;
115 if(type.
id()==ID_incomplete_struct ||
116 type.
id()==ID_incomplete_union)
119 if(symbol.
value.
id()==ID_nondet)
148 for(
const std::string &
id : symbols)
152 if(symbol.
type.
id()==ID_code &&
The type of an expression.
irep_idt name
The unique identifier.
const typet & follow(const typet &src) const
virtual bool lookup(const irep_idt &name, const symbolt *&symbol) const
Linking: Zero Initialization.
const std::string & id2string(const irep_idt &d)
#define forall_symbols(it, expr)
Goto Programs with Functions.
void move_to_operands(exprt &expr)
exprt value
Initial value of symbol.
bool static_lifetime_init(symbol_tablet &symbol_table, const source_locationt &source_location, message_handlert &message_handler)
unsignedbv_typet size_type()
Symbol table entry.This is a symbol in the symbol table, stored in an object of type symbol_tablet...
const irep_idt & id() const
const array_typet & to_array_type(const typet &type)
Cast a generic typet to an array_typet.
void add(const codet &code)
class symbol_exprt symbol_expr() const
produces a symbol_exprt for a symbol
exprt zero_initializer(const typet &type, const source_locationt &source_location, const namespacet &ns, message_handlert &message_handler)
#define INITIALIZE_FUNCTION
API to expression classes.
A label for branch targets.
const exprt & size() const
bool has_prefix(const std::string &s, const std::string &prefix)
typet type
Type of symbol.
source_locationt location
Source code location of definition of symbol.
Base class for all expressions.
const code_typet & to_code_type(const typet &type)
Cast a generic typet to a code_typet.
source_locationt & add_source_location()
const codet & to_code(const exprt &expr)
const code_blockt & to_code_block(const codet &code)
const typet & return_type() const
void set(const irep_namet &name, const irep_idt &value)