cprover
Loading...
Searching...
No Matches
linking.cpp File Reference

ANSI-C Linking. More...

#include "linking.h"
#include "linking_class.h"
#include <util/c_types.h>
#include <util/find_symbols.h>
#include <util/message.h>
#include <util/pointer_offset_size.h>
#include <util/simplify_expr.h>
#include <util/symbol_table_base.h>
#include <langapi/language_util.h>
#include "linking_diagnostics.h"
#include <deque>
+ Include dependency graph for linking.cpp:

Go to the source code of this file.

Functions

static const typetfollow_tags_symbols (const namespacet &ns, const typet &type)
 
static void do_type_dependencies (const symbol_table_baset &src_symbol_table, std::unordered_set< irep_idt > &needs_to_be_renamed, message_handlert &message_handler)
 
bool linking (symbol_table_baset &dest_symbol_table, const symbol_table_baset &new_symbol_table, message_handlert &message_handler)
 Merges the symbol table new_symbol_table into dest_symbol_table, renaming symbols from new_symbol_table when necessary.
 

Detailed Description

ANSI-C Linking.

Definition in file linking.cpp.

Function Documentation

◆ do_type_dependencies()

static void do_type_dependencies ( const symbol_table_baset & src_symbol_table,
std::unordered_set< irep_idt > & needs_to_be_renamed,
message_handlert & message_handler )
static

Definition at line 903 of file linking.cpp.

◆ follow_tags_symbols()

static const typet & follow_tags_symbols ( const namespacet & ns,
const typet & type )
static

Definition at line 28 of file linking.cpp.

◆ linking()

bool linking ( symbol_table_baset & dest_symbol_table,
const symbol_table_baset & new_symbol_table,
message_handlert & message_handler )

Merges the symbol table new_symbol_table into dest_symbol_table, renaming symbols from new_symbol_table when necessary.

Returns
True, iff linking failed with unresolvable conflicts.

Definition at line 1130 of file linking.cpp.