cprover
remove_internal_symbols.h File Reference

Remove symbols that are internal only. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void remove_internal_symbols (class symbol_tablet &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. More...
 

Detailed Description

Remove symbols that are internal only.

Definition in file remove_internal_symbols.h.

Function Documentation

◆ remove_internal_symbols()

void remove_internal_symbols ( symbol_tablet 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 table
Returns
symbol table, with internal symbols removed

Definition at line 73 of file remove_internal_symbols.cpp.

References dstringt::c_str(), config, CPROVER_PREFIX, irept::get_bool(), get_symbols_rec(), irept::id(), symbolt::is_extern, symbolt::is_file_local, irept::is_not_nil(), symbolt::is_type, configt::main, symbolt::mode, symbolt::name, code_typet::return_type(), symbol_tablet::symbols, to_code_type(), symbolt::type, and symbolt::value.

Referenced by ansi_c_languaget::typecheck().