cprover
|
Go to the source code of this file.
Functions | |
bool | ansi_c_entry_point (symbol_tablet &symbol_table, message_handlert &message_handler) |
bool | generate_ansi_c_start_function (const symbolt &symbol, symbol_tablet &symbol_table, message_handlert &message_handler) |
Generate a _start function for a specific function. More... | |
bool ansi_c_entry_point | ( | symbol_tablet & | symbol_table, |
message_handlert & | message_handler | ||
) |
Definition at line 113 of file ansi_c_entry_point.cpp.
References config, goto_functionst::entry_point(), messaget::eom(), messaget::error(), forall_symbol_base_map, generate_ansi_c_start_function(), id2string(), irept::is_nil(), symbolt::location, configt::main, message_handler, static_lifetime_init(), symbol_table_baset::symbol_base_map, symbol_table_baset::symbols, and symbolt::value.
Referenced by ansi_c_languaget::generate_support_functions(), cpp_languaget::generate_support_functions(), and compilet::link().
bool generate_ansi_c_start_function | ( | const symbolt & | symbol, |
symbol_tablet & | symbol_table, | ||
message_handlert & | message_handler | ||
) |
Generate a _start function for a specific function.
symbol | The symbol for the function that should be used as the entry point |
symbol_table | The symbol table for the program. The new _start function symbol will be added to this table |
message_handler | The message handler |
Definition at line 195 of file ansi_c_entry_point.cpp.
References symbol_table_baset::add(), exprt::add_source_location(), configt::ansi_c, code_function_callt::arguments(), symbolt::base_name, build_function_environment(), config, goto_functionst::entry_point(), messaget::eom(), messaget::error(), from_integer(), code_function_callt::function(), irept::id(), index_type(), INITIALIZE_FUNCTION, symbol_tablet::insert(), configt::ansi_ct::int_width, irept::is_nil(), symbolt::is_static_lifetime, unsignedbv_typet::largest(), signedbv_typet::largest(), code_function_callt::lhs(), symbolt::location, namespacet::lookup(), irept::make_nil(), message_handler, symbolt::mode, exprt::move_to_operands(), symbolt::name, exprt::op0(), exprt::op1(), exprt::operands(), code_typet::parameters(), pointer_type(), power(), PRECONDITION, record_function_outputs(), code_typet::return_type(), irept::set(), messaget::set_message_handler(), typet::subtype(), irept::swap(), symbolt::symbol_expr(), symbol_table_baset::symbols, to_code_type(), to_pointer_type(), to_signedbv_type(), to_unsignedbv_type(), symbolt::type, exprt::type(), UNREACHABLE, and symbolt::value.
Referenced by ansi_c_entry_point().