CBMC
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

static void get_symbols (const namespacet &ns, const symbolt &in_symbol, find_symbols_sett &dest)
 
void remove_internal_symbols (symbol_table_baset &symbol_table, message_handlert &mh, const bool keep_file_local)
 Removes internal symbols from a symbol table A symbol is EXPORTED if it is a. More...
 
void remove_internal_symbols (symbol_table_baset &symbol_table, message_handlert &mh, const bool keep_file_local, const std::set< irep_idt > &keep)
 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()

static void get_symbols ( const namespacet ns,
const symbolt in_symbol,
find_symbols_sett dest 
)
static

Definition at line 26 of file remove_internal_symbols.cpp.

◆ remove_internal_symbols() [1/2]

void remove_internal_symbols ( symbol_table_baset symbol_table,
message_handlert mh,
const bool  keep_file_local 
)

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
    mhlog handler
    keep_file_localkeep file-local functions with bodies even if we would otherwise remove them

Definition at line 102 of file remove_internal_symbols.cpp.

◆ remove_internal_symbols() [2/2]

void remove_internal_symbols ( symbol_table_baset symbol_table,
message_handlert mh,
const bool  keep_file_local,
const std::set< irep_idt > &  keep 
)

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
    mhlog handler
    keep_file_localkeep file-local functions with bodies even if we would otherwise remove them
    keepset of symbol names to keep in the symbol table regardless of usage or kind

Definition at line 125 of file remove_internal_symbols.cpp.