cprover
|
Remove symbols that are internal only. More...
#include "remove_internal_symbols.h"
#include <util/config.h>
#include <util/find_symbols.h>
#include <util/namespace.h>
#include <util/std_types.h>
#include <util/symbol_table.h>
#include "static_lifetime_init.h"
Go to the source code of this file.
Functions | |
void | get_symbols_rec (const namespacet &ns, const symbolt &symbol, find_symbols_sett &dest) |
void | remove_internal_symbols (symbol_tablet &symbol_table) |
Removes internal symbols from a symbol table A symbol is EXPORTED if it is a. More... | |
Remove symbols that are internal only.
Definition in file remove_internal_symbols.cpp.
void get_symbols_rec | ( | const namespacet & | ns, |
const symbolt & | symbol, | ||
find_symbols_sett & | dest | ||
) |
Definition at line 22 of file remove_internal_symbols.cpp.
References find_type_and_expr_symbols(), irept::id(), namespacet::lookup(), symbolt::name, code_typet::parameters(), to_code_type(), symbolt::type, and symbolt::value.
Referenced by remove_internal_symbols().
void remove_internal_symbols | ( | symbol_tablet & | symbol_table | ) |
Removes internal symbols from a symbol table A symbol is EXPORTED if it is a.
Read http://gcc.gnu.org/ml/gcc/2006-11/msg00006.html on "extern inline"
symbol_table | symbol table to clean up |
Definition at line 75 of file remove_internal_symbols.cpp.
References dstringt::c_str(), config, CPROVER_PREFIX, symbol_tablet::erase(), irept::get_bool(), get_symbols_rec(), irept::id(), INITIALIZE_FUNCTION, symbolt::is_extern, symbolt::is_file_local, symbolt::is_macro, irept::is_not_nil(), symbolt::is_type, configt::main, symbolt::mode, symbolt::name, code_typet::return_type(), symbol_table_baset::symbols, to_code_type(), symbolt::type, and symbolt::value.
Referenced by ansi_c_languaget::typecheck().