GDB (xrefs)
Classes | Macros | Typedefs | Functions
/tmp/gdb-8.1/gdb/block.h File Reference
#include "dictionary.h"

Go to the source code of this file.

Classes

struct  block
 
struct  global_block
 
struct  blockvector
 
struct  block_iterator
 

Macros

#define BLOCK_START(bl)   (bl)->startaddr
 
#define BLOCK_END(bl)   (bl)->endaddr
 
#define BLOCK_FUNCTION(bl)   (bl)->function
 
#define BLOCK_SUPERBLOCK(bl)   (bl)->superblock
 
#define BLOCK_DICT(bl)   (bl)->dict
 
#define BLOCK_NAMESPACE(bl)   (bl)->namespace_info
 
#define BLOCKVECTOR_NBLOCKS(blocklist)   (blocklist)->nblocks
 
#define BLOCKVECTOR_BLOCK(blocklist, n)   (blocklist)->block[n]
 
#define BLOCKVECTOR_MAP(blocklist)   ((blocklist)->map)
 
#define ALL_BLOCK_SYMBOLS(block, iter, sym)
 
#define ALL_BLOCK_SYMBOLS_WITH_NAME(block, name, iter, sym)
 

Typedefs

typedef int() block_symbol_matcher_ftype(struct symbol *, void *)
 

Functions

struct objfileblock_objfile (const struct block *block)
 
struct gdbarchblock_gdbarch (const struct block *block)
 
struct symbolblock_linkage_function (const struct block *)
 
struct symbolblock_containing_function (const struct block *)
 
int block_inlined_p (const struct block *block)
 
int contained_in (const struct block *, const struct block *)
 
const struct blockvectorblockvector_for_pc (CORE_ADDR, const struct block **)
 
const struct blockvectorblockvector_for_pc_sect (CORE_ADDR, struct obj_section *, const struct block **, struct compunit_symtab *)
 
int blockvector_contains_pc (const struct blockvector *bv, CORE_ADDR pc)
 
struct call_sitecall_site_for_pc (struct gdbarch *gdbarch, CORE_ADDR pc)
 
const struct blockblock_for_pc (CORE_ADDR)
 
const struct blockblock_for_pc_sect (CORE_ADDR, struct obj_section *)
 
const char * block_scope (const struct block *block)
 
void block_set_scope (struct block *block, const char *scope, struct obstack *obstack)
 
struct using_directblock_using (const struct block *block)
 
void block_set_using (struct block *block, struct using_direct *using_decl, struct obstack *obstack)
 
const struct blockblock_static_block (const struct block *block)
 
const struct blockblock_global_block (const struct block *block)
 
struct blockallocate_block (struct obstack *obstack)
 
struct blockallocate_global_block (struct obstack *obstack)
 
void set_block_compunit_symtab (struct block *, struct compunit_symtab *)
 
struct dynamic_propblock_static_link (const struct block *block)
 
struct symbolblock_iterator_first (const struct block *block, struct block_iterator *iterator)
 
struct symbolblock_iterator_next (struct block_iterator *iterator)
 
struct symbolblock_iter_match_first (const struct block *block, const lookup_name_info &name, struct block_iterator *iterator)
 
struct symbolblock_iter_match_next (const lookup_name_info &name, struct block_iterator *iterator)
 
struct symbolblock_lookup_symbol (const struct block *block, const char *name, symbol_name_match_type match_type, const domain_enum domain)
 
struct symbolblock_lookup_symbol_primary (const struct block *block, const char *name, const domain_enum domain)
 
struct symbolblock_find_symbol (const struct block *block, const char *name, const domain_enum domain, block_symbol_matcher_ftype *matcher, void *data)
 
int block_find_non_opaque_type (struct symbol *sym, void *data)
 
int block_find_non_opaque_type_preferred (struct symbol *sym, void *data)
 

Macro Definition Documentation

◆ ALL_BLOCK_SYMBOLS

#define ALL_BLOCK_SYMBOLS (   block,
  iter,
  sym 
)

◆ ALL_BLOCK_SYMBOLS_WITH_NAME

#define ALL_BLOCK_SYMBOLS_WITH_NAME (   block,
  name,
  iter,
  sym 
)
Value:
for ((sym) = block_iter_match_first ((block), (name), &(iter)); \
(sym) != NULL; \
(sym) = block_iter_match_next ((name), &(iter)))
struct symbol * block_iter_match_next(const lookup_name_info &name, struct block_iterator *iterator)
Definition: block.c:654
const char *const name
Definition: aarch64-tdep.c:76
Definition: block.h:60
struct symbol * block_iter_match_first(const struct block *block, const lookup_name_info &name, struct block_iterator *iterator)
Definition: block.c:639

Definition at line 320 of file block.h.

Referenced by block_find_symbol(), block_lookup_symbol(), iterate_over_symbols(), and make_symbol_overload_list_block().

◆ BLOCK_DICT

#define BLOCK_DICT (   bl)    (bl)->dict

◆ BLOCK_END

#define BLOCK_END (   bl)    (bl)->endaddr

◆ BLOCK_FUNCTION

#define BLOCK_FUNCTION (   bl)    (bl)->function

◆ BLOCK_NAMESPACE

#define BLOCK_NAMESPACE (   bl)    (bl)->namespace_info

◆ BLOCK_START

#define BLOCK_START (   bl)    (bl)->startaddr

◆ BLOCK_SUPERBLOCK

#define BLOCK_SUPERBLOCK (   bl)    (bl)->superblock

◆ BLOCKVECTOR_BLOCK

#define BLOCKVECTOR_BLOCK (   blocklist,
 
)    (blocklist)->block[n]

◆ BLOCKVECTOR_MAP

#define BLOCKVECTOR_MAP (   blocklist)    ((blocklist)->map)

◆ BLOCKVECTOR_NBLOCKS

#define BLOCKVECTOR_NBLOCKS (   blocklist)    (blocklist)->nblocks

Typedef Documentation

◆ block_symbol_matcher_ftype

typedef int() block_symbol_matcher_ftype(struct symbol *, void *)

Definition at line 274 of file block.h.

Function Documentation

◆ allocate_block()

struct block* allocate_block ( struct obstack *  obstack)

Definition at line 400 of file block.c.

References OBSTACK_ZALLOC.

Referenced by finalize_symtab(), and finish_block_internal().

◆ allocate_global_block()

struct block* allocate_global_block ( struct obstack *  obstack)

Definition at line 410 of file block.c.

References global_block::block, and OBSTACK_ZALLOC.

Referenced by finalize_symtab(), and finish_block_internal().

◆ block_containing_function()

struct symbol* block_containing_function ( const struct block )

Definition at line 115 of file block.c.

References BLOCK_FUNCTION, and BLOCK_SUPERBLOCK.

Referenced by create_sals_line_offset().

◆ block_find_non_opaque_type()

int block_find_non_opaque_type ( struct symbol sym,
void *  data 
)

Definition at line 797 of file block.c.

References SYMBOL_TYPE, and TYPE_IS_OPAQUE.

Referenced by basic_lookup_transparent_type_1(), and basic_lookup_transparent_type_quick().

◆ block_find_non_opaque_type_preferred()

int block_find_non_opaque_type_preferred ( struct symbol sym,
void *  data 
)

Definition at line 805 of file block.c.

References SYMBOL_TYPE, and TYPE_IS_OPAQUE.

Referenced by dw2_debug_names_lookup_symbol(), dw2_lookup_symbol(), and psym_lookup_symbol().

◆ block_find_symbol()

struct symbol* block_find_symbol ( const struct block block,
const char *  name,
const domain_enum  domain,
block_symbol_matcher_ftype matcher,
void *  data 
)

◆ block_for_pc()

const struct block* block_for_pc ( CORE_ADDR  )

◆ block_for_pc_sect()

const struct block* block_for_pc_sect ( CORE_ADDR  ,
struct obj_section  
)

◆ block_gdbarch()

struct gdbarch* block_gdbarch ( const struct block block)

◆ block_global_block()

const struct block* block_global_block ( const struct block block)

◆ block_inlined_p()

int block_inlined_p ( const struct block block)

◆ block_iter_match_first()

struct symbol* block_iter_match_first ( const struct block block,
const lookup_name_info name,
struct block_iterator iterator 
)

◆ block_iter_match_next()

struct symbol* block_iter_match_next ( const lookup_name_info name,
struct block_iterator iterator 
)

◆ block_iterator_first()

struct symbol* block_iterator_first ( const struct block block,
struct block_iterator iterator 
)

◆ block_iterator_next()

struct symbol* block_iterator_next ( struct block_iterator iterator)

◆ block_linkage_function()

struct symbol* block_linkage_function ( const struct block )

◆ block_lookup_symbol()

struct symbol* block_lookup_symbol ( const struct block block,
const char *  name,
symbol_name_match_type  match_type,
const domain_enum  domain 
)

◆ block_lookup_symbol_primary()

struct symbol* block_lookup_symbol_primary ( const struct block block,
const char *  name,
const domain_enum  domain 
)

◆ block_objfile()

struct objfile* block_objfile ( const struct block block)

◆ block_scope()

const char* block_scope ( const struct block block)

◆ block_set_scope()

void block_set_scope ( struct block block,
const char *  scope,
struct obstack *  obstack 
)

Definition at line 312 of file block.c.

References block_initialize_namespace(), and BLOCK_NAMESPACE.

Referenced by cp_set_block_scope(), and read_func_scope().

◆ block_set_using()

void block_set_using ( struct block block,
struct using_direct using_decl,
struct obstack *  obstack 
)

Definition at line 337 of file block.c.

References block_initialize_namespace(), and BLOCK_NAMESPACE.

Referenced by finish_block_internal().

◆ block_static_block()

const struct block* block_static_block ( const struct block block)

◆ block_static_link()

struct dynamic_prop* block_static_link ( const struct block block)

Definition at line 433 of file block.c.

References BLOCK_FUNCTION, block_objfile(), and objfile_lookup_static_link().

Referenced by get_hosting_frame().

◆ block_using()

struct using_direct* block_using ( const struct block block)

◆ blockvector_contains_pc()

int blockvector_contains_pc ( const struct blockvector bv,
CORE_ADDR  pc 
)

Definition at line 214 of file block.c.

References find_block_in_blockvector().

Referenced by recursively_find_pc_sect_compunit_symtab().

◆ blockvector_for_pc()

const struct blockvector* blockvector_for_pc ( CORE_ADDR  ,
const struct block **   
)

Definition at line 257 of file block.c.

References blockvector_for_pc_sect(), and find_pc_mapped_section().

Referenced by block_starting_point_at().

◆ blockvector_for_pc_sect()

const struct blockvector* blockvector_for_pc_sect ( CORE_ADDR  ,
struct obj_section ,
const struct block **  ,
struct compunit_symtab  
)

◆ call_site_for_pc()

struct call_site* call_site_for_pc ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)

◆ contained_in()

int contained_in ( const struct block ,
const struct block  
)

◆ set_block_compunit_symtab()

void set_block_compunit_symtab ( struct block ,
struct compunit_symtab  
)

Definition at line 420 of file block.c.

References BLOCK_SUPERBLOCK, global_block::compunit_symtab, and gdb_assert.

Referenced by end_symtab_with_blockvector(), and finalize_symtab().