GDB (xrefs)
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
buildsym_compunit Struct Reference

#include "buildsym.h"

Public Member Functions

 buildsym_compunit (struct objfile *objfile_, const char *name, const char *comp_dir_, const char *name_for_id, enum language language_, CORE_ADDR last_addr)
 
 buildsym_compunit (struct objfile *objfile_, const char *name, const char *comp_dir_, enum language language_, CORE_ADDR last_addr)
 
 buildsym_compunit (struct objfile *objfile_, const char *name, const char *comp_dir_, enum language language_, CORE_ADDR last_addr, struct compunit_symtab *cust)
 
 ~buildsym_compunit ()
 
 DISABLE_COPY_AND_ASSIGN (buildsym_compunit)
 
void set_last_source_file (const char *name)
 
const char * get_last_source_file ()
 
struct macro_tableget_macro_table ()
 
struct macro_tablerelease_macros ()
 
void free_pending_blocks ()
 
struct blockfinish_block (struct symbol *symbol, struct pending_block *old_blocks, const struct dynamic_prop *static_link, CORE_ADDR start, CORE_ADDR end)
 
void record_block_range (struct block *block, CORE_ADDR start, CORE_ADDR end_inclusive)
 
void start_subfile (const char *name, const char *name_for_id)
 
void start_subfile (const char *name)
 
void patch_subfile_names (struct subfile *subfile, const char *name)
 
void push_subfile ()
 
const char * pop_subfile ()
 
void record_line (struct subfile *subfile, int line, unrelocated_addr pc, linetable_entry_flags flags)
 
struct compunit_symtabget_compunit_symtab ()
 
void set_last_source_start_addr (CORE_ADDR addr)
 
CORE_ADDR get_last_source_start_addr ()
 
struct using_direct ** get_local_using_directives ()
 
void set_local_using_directives (struct using_direct *new_local)
 
struct using_direct ** get_global_using_directives ()
 
bool outermost_context_p () const
 
struct context_stackget_current_context_stack ()
 
int get_context_stack_depth () const
 
struct subfileget_current_subfile ()
 
struct pending ** get_local_symbols ()
 
struct pending ** get_file_symbols ()
 
struct pending ** get_global_symbols ()
 
void record_debugformat (const char *format)
 
void record_producer (const char *producer)
 
struct context_stackpush_context (int desc, CORE_ADDR valu)
 
struct context_stack pop_context ()
 
struct blockend_compunit_symtab_get_static_block (CORE_ADDR end_addr, int expandable, int required)
 
struct compunit_symtabend_compunit_symtab_from_static_block (struct block *static_block, int expandable)
 
struct compunit_symtabend_compunit_symtab (CORE_ADDR end_addr)
 
struct compunit_symtabend_expandable_symtab (CORE_ADDR end_addr)
 
void augment_type_symtab ()
 

Private Member Functions

void record_pending_block (struct block *block, struct pending_block *opblock)
 
struct blockfinish_block_internal (struct symbol *symbol, struct pending **listhead, struct pending_block *old_blocks, const struct dynamic_prop *static_link, CORE_ADDR start, CORE_ADDR end, int is_global, int expandable)
 
struct blockvectormake_blockvector ()
 
void watch_main_source_file_lossage ()
 
struct compunit_symtabend_compunit_symtab_with_blockvector (struct block *static_block, int expandable)
 

Private Attributes

struct objfilem_objfile
 
struct subfilem_subfiles = nullptr
 
struct subfilem_main_subfile = nullptr
 
gdb::unique_xmalloc_ptr< char > m_last_source_file
 
std::string m_comp_dir
 
const char * m_producer = nullptr
 
const char * m_debugformat = nullptr
 
struct compunit_symtabm_compunit_symtab = nullptr
 
enum language m_language
 
struct macro_tablem_pending_macros = nullptr
 
bool m_have_line_numbers = false
 
CORE_ADDR m_last_source_start_addr
 
std::vector< const char * > m_subfile_stack
 
struct using_directm_local_using_directives = nullptr
 
struct using_directm_global_using_directives = nullptr
 
std::vector< struct context_stackm_context_stack
 
struct subfilem_current_subfile = nullptr
 
struct addrmap_mutable m_pending_addrmap
 
bool m_pending_addrmap_interesting = false
 
auto_obstack m_pending_block_obstack
 
struct pending_blockm_pending_blocks = nullptr
 
struct pendingm_file_symbols = nullptr
 
struct pendingm_global_symbols = nullptr
 
struct pendingm_local_symbols = nullptr
 

Detailed Description

Definition at line 140 of file buildsym.h.

Constructor & Destructor Documentation

◆ buildsym_compunit() [1/3]

buildsym_compunit::buildsym_compunit ( struct objfile * objfile_,
const char * name,
const char * comp_dir_,
const char * name_for_id,
enum language language_,
CORE_ADDR last_addr )

◆ buildsym_compunit() [2/3]

buildsym_compunit::buildsym_compunit ( struct objfile * objfile_,
const char * name,
const char * comp_dir_,
enum language language_,
CORE_ADDR last_addr )
inline

Definition at line 157 of file buildsym.h.

◆ buildsym_compunit() [3/3]

buildsym_compunit::buildsym_compunit ( struct objfile * objfile_,
const char * name,
const char * comp_dir_,
enum language language_,
CORE_ADDR last_addr,
struct compunit_symtab * cust )
inline

Definition at line 167 of file buildsym.h.

◆ ~buildsym_compunit()

buildsym_compunit::~buildsym_compunit ( )

Member Function Documentation

◆ augment_type_symtab()

void buildsym_compunit::augment_type_symtab ( )

◆ DISABLE_COPY_AND_ASSIGN()

buildsym_compunit::DISABLE_COPY_AND_ASSIGN ( buildsym_compunit )

◆ end_compunit_symtab()

struct compunit_symtab * buildsym_compunit::end_compunit_symtab ( CORE_ADDR end_addr)

◆ end_compunit_symtab_from_static_block()

struct compunit_symtab * buildsym_compunit::end_compunit_symtab_from_static_block ( struct block * static_block,
int expandable )

◆ end_compunit_symtab_get_static_block()

struct block * buildsym_compunit::end_compunit_symtab_get_static_block ( CORE_ADDR end_addr,
int expandable,
int required )

◆ end_compunit_symtab_with_blockvector()

struct compunit_symtab * buildsym_compunit::end_compunit_symtab_with_blockvector ( struct block * static_block,
int expandable )
private

◆ end_expandable_symtab()

struct compunit_symtab * buildsym_compunit::end_expandable_symtab ( CORE_ADDR end_addr)

◆ finish_block()

struct block * buildsym_compunit::finish_block ( struct symbol * symbol,
struct pending_block * old_blocks,
const struct dynamic_prop * static_link,
CORE_ADDR start,
CORE_ADDR end )

◆ finish_block_internal()

struct block * buildsym_compunit::finish_block_internal ( struct symbol * symbol,
struct pending ** listhead,
struct pending_block * old_blocks,
const struct dynamic_prop * static_link,
CORE_ADDR start,
CORE_ADDR end,
int is_global,
int expandable )
private

◆ free_pending_blocks()

void buildsym_compunit::free_pending_blocks ( )
inline

Definition at line 205 of file buildsym.h.

References m_pending_block_obstack, and m_pending_blocks.

Referenced by make_blockvector().

◆ get_compunit_symtab()

struct compunit_symtab * buildsym_compunit::get_compunit_symtab ( )
inline

◆ get_context_stack_depth()

int buildsym_compunit::get_context_stack_depth ( ) const
inline

Definition at line 287 of file buildsym.h.

References m_context_stack.

Referenced by get_context_stack_depth().

◆ get_current_context_stack()

struct context_stack * buildsym_compunit::get_current_context_stack ( )
inline

Definition at line 280 of file buildsym.h.

References m_context_stack.

Referenced by new_symbol().

◆ get_current_subfile()

struct subfile * buildsym_compunit::get_current_subfile ( )
inline

◆ get_file_symbols()

struct pending ** buildsym_compunit::get_file_symbols ( )
inline

◆ get_global_symbols()

struct pending ** buildsym_compunit::get_global_symbols ( )
inline

◆ get_global_using_directives()

struct using_direct ** buildsym_compunit::get_global_using_directives ( )
inline

Definition at line 270 of file buildsym.h.

References m_global_using_directives.

Referenced by using_directives().

◆ get_last_source_file()

const char * buildsym_compunit::get_last_source_file ( )
inline

Definition at line 189 of file buildsym.h.

References m_last_source_file.

Referenced by get_last_source_file().

◆ get_last_source_start_addr()

CORE_ADDR buildsym_compunit::get_last_source_start_addr ( )
inline

Definition at line 255 of file buildsym.h.

References m_last_source_start_addr.

Referenced by get_last_source_start_addr().

◆ get_local_symbols()

struct pending ** buildsym_compunit::get_local_symbols ( )
inline

Definition at line 297 of file buildsym.h.

References m_local_symbols.

Referenced by get_local_symbols(), read_func_scope(), and read_lexical_block_scope().

◆ get_local_using_directives()

struct using_direct ** buildsym_compunit::get_local_using_directives ( )
inline

◆ get_macro_table()

struct macro_table * buildsym_compunit::get_macro_table ( )

◆ make_blockvector()

struct blockvector * buildsym_compunit::make_blockvector ( )
private

◆ outermost_context_p()

bool buildsym_compunit::outermost_context_p ( ) const
inline

Definition at line 275 of file buildsym.h.

References m_context_stack.

Referenced by outermost_context_p(), read_func_scope(), and using_directives().

◆ patch_subfile_names()

void buildsym_compunit::patch_subfile_names ( struct subfile * subfile,
const char * name )

◆ pop_context()

struct context_stack buildsym_compunit::pop_context ( )

◆ pop_subfile()

const char * buildsym_compunit::pop_subfile ( )

Definition at line 614 of file buildsym.c.

References m_subfile_stack, and name.

Referenced by pop_subfile().

◆ push_context()

struct context_stack * buildsym_compunit::push_context ( int desc,
CORE_ADDR valu )

◆ push_subfile()

void buildsym_compunit::push_subfile ( )

Definition at line 606 of file buildsym.c.

References m_current_subfile, m_subfile_stack, and subfile::name.

Referenced by push_subfile().

◆ record_block_range()

void buildsym_compunit::record_block_range ( struct block * block,
CORE_ADDR start,
CORE_ADDR end_inclusive )

◆ record_debugformat()

void buildsym_compunit::record_debugformat ( const char * format)
inline

Definition at line 312 of file buildsym.h.

References m_debugformat.

Referenced by record_debugformat(), and dwarf2_cu::start_compunit_symtab().

◆ record_line()

void buildsym_compunit::record_line ( struct subfile * subfile,
int line,
unrelocated_addr pc,
linetable_entry_flags flags )

◆ record_pending_block()

void buildsym_compunit::record_pending_block ( struct block * block,
struct pending_block * opblock )
private

◆ record_producer()

void buildsym_compunit::record_producer ( const char * producer)
inline

Definition at line 317 of file buildsym.h.

References m_producer.

Referenced by record_producer(), and dwarf2_cu::start_compunit_symtab().

◆ release_macros()

struct macro_table * buildsym_compunit::release_macros ( )
inline

Definition at line 196 of file buildsym.h.

References m_pending_macros.

Referenced by end_compunit_symtab_with_blockvector().

◆ set_last_source_file()

void buildsym_compunit::set_last_source_file ( const char * name)
inline

Definition at line 183 of file buildsym.h.

References m_last_source_file, and name.

Referenced by patch_subfile_names(), and set_last_source_file().

◆ set_last_source_start_addr()

void buildsym_compunit::set_last_source_start_addr ( CORE_ADDR addr)
inline

Definition at line 250 of file buildsym.h.

References m_last_source_start_addr.

Referenced by set_last_source_start_addr().

◆ set_local_using_directives()

void buildsym_compunit::set_local_using_directives ( struct using_direct * new_local)
inline

Definition at line 265 of file buildsym.h.

References m_local_using_directives.

Referenced by read_func_scope(), and read_lexical_block_scope().

◆ start_subfile() [1/2]

void buildsym_compunit::start_subfile ( const char * name)
inline

Definition at line 231 of file buildsym.h.

References name, and start_subfile().

◆ start_subfile() [2/2]

void buildsym_compunit::start_subfile ( const char * name,
const char * name_for_id )

◆ watch_main_source_file_lossage()

void buildsym_compunit::watch_main_source_file_lossage ( )
private

Member Data Documentation

◆ m_comp_dir

std::string buildsym_compunit::m_comp_dir
private

Definition at line 374 of file buildsym.h.

Referenced by end_compunit_symtab_with_blockvector(), and patch_subfile_names().

◆ m_compunit_symtab

struct compunit_symtab* buildsym_compunit::m_compunit_symtab = nullptr
private

◆ m_context_stack

std::vector<struct context_stack> buildsym_compunit::m_context_stack
private

◆ m_current_subfile

struct subfile* buildsym_compunit::m_current_subfile = nullptr
private

Definition at line 416 of file buildsym.h.

Referenced by buildsym_compunit(), get_current_subfile(), push_subfile(), and start_subfile().

◆ m_debugformat

const char* buildsym_compunit::m_debugformat = nullptr
private

Definition at line 382 of file buildsym.h.

Referenced by end_compunit_symtab_with_blockvector(), and record_debugformat().

◆ m_file_symbols

struct pending* buildsym_compunit::m_file_symbols = nullptr
private

◆ m_global_symbols

struct pending* buildsym_compunit::m_global_symbols = nullptr
private

◆ m_global_using_directives

struct using_direct* buildsym_compunit::m_global_using_directives = nullptr
private

◆ m_have_line_numbers

bool buildsym_compunit::m_have_line_numbers = false
private

◆ m_language

enum language buildsym_compunit::m_language
private

Definition at line 388 of file buildsym.h.

Referenced by finish_block_internal().

◆ m_last_source_file

gdb::unique_xmalloc_ptr<char> buildsym_compunit::m_last_source_file
private

Definition at line 371 of file buildsym.h.

Referenced by get_last_source_file(), and set_last_source_file().

◆ m_last_source_start_addr

CORE_ADDR buildsym_compunit::m_last_source_start_addr
private

◆ m_local_symbols

struct pending* buildsym_compunit::m_local_symbols = nullptr
private

Definition at line 445 of file buildsym.h.

Referenced by finish_block(), get_local_symbols(), and push_context().

◆ m_local_using_directives

struct using_direct* buildsym_compunit::m_local_using_directives = nullptr
private

◆ m_main_subfile

struct subfile* buildsym_compunit::m_main_subfile = nullptr
private

◆ m_objfile

struct objfile* buildsym_compunit::m_objfile
private

◆ m_pending_addrmap

struct addrmap_mutable buildsym_compunit::m_pending_addrmap
private

Definition at line 421 of file buildsym.h.

Referenced by make_blockvector(), and record_block_range().

◆ m_pending_addrmap_interesting

bool buildsym_compunit::m_pending_addrmap_interesting = false
private

Definition at line 427 of file buildsym.h.

Referenced by make_blockvector(), and record_block_range().

◆ m_pending_block_obstack

auto_obstack buildsym_compunit::m_pending_block_obstack
private

Definition at line 430 of file buildsym.h.

Referenced by free_pending_blocks(), and record_pending_block().

◆ m_pending_blocks

struct pending_block* buildsym_compunit::m_pending_blocks = nullptr
private

◆ m_pending_macros

struct macro_table* buildsym_compunit::m_pending_macros = nullptr
private

◆ m_producer

const char* buildsym_compunit::m_producer = nullptr
private

Definition at line 378 of file buildsym.h.

Referenced by end_compunit_symtab_with_blockvector(), and record_producer().

◆ m_subfile_stack

std::vector<const char *> buildsym_compunit::m_subfile_stack
private

Definition at line 404 of file buildsym.h.

Referenced by pop_subfile(), and push_subfile().

◆ m_subfiles

struct subfile* buildsym_compunit::m_subfiles = nullptr
private

The documentation for this struct was generated from the following files: