CBMC
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/mathematical_types.h>
#include <util/message.h>
#include <util/pointer_expr.h>
#include <util/pointer_offset_size.h>
#include <util/simplify_expr.h>
#include <util/std_code.h>
#include <util/symbol_table_base.h>
#include <langapi/language_util.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. More...
 

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 1389 of file linking.cpp.

◆ follow_tags_symbols()

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

Definition at line 134 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 1616 of file linking.cpp.