cprover
remove_internal_symbols.cpp File Reference

Remove symbols that are internal only. More...

Include dependency graph for remove_internal_symbols.cpp:

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...
 

Detailed Description

Remove symbols that are internal only.

Definition in file remove_internal_symbols.cpp.

Function Documentation

◆ get_symbols_rec()

◆ 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.

  • non-static function with body that is not extern inline
  • symbol used in an EXPORTED symbol
  • type used in an EXPORTED symbol
       Read
       http://gcc.gnu.org/ml/gcc/2006-11/msg00006.html
       on "extern inline"
    
    Parameters
    symbol_tablesymbol 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().