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

static void get_symbols (const namespacet &ns, const symbolt &in_symbol, find_symbols_sett &dest)
 
void remove_internal_symbols (symbol_tablet &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...
 

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 22 of file remove_internal_symbols.cpp.

◆ remove_internal_symbols()

void remove_internal_symbols ( symbol_tablet 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 77 of file remove_internal_symbols.cpp.