GDB (xrefs)
Classes | Functions
/home/stan/gdb/src/gdb/block.c File Reference
#include "defs.h"
#include "block.h"
#include "symtab.h"
#include "symfile.h"
#include "gdb_obstack.h"
#include "cp-support.h"
#include "addrmap.h"
#include "gdbtypes.h"
#include "exceptions.h"

Go to the source code of this file.

Classes

struct  block_namespace_info

Functions

static void block_initialize_namespace (struct block *block, struct obstack *obstack)
int contained_in (const struct block *a, const struct block *b)
struct symbolblock_linkage_function (const struct block *bl)
struct symbolblock_containing_function (const struct block *bl)
int block_inlined_p (const struct block *bl)
static struct blockfind_block_in_blockvector (struct blockvector *bl, CORE_ADDR pc)
struct blockvectorblockvector_for_pc_sect (CORE_ADDR pc, struct obj_section *section, struct block **pblock, struct symtab *symtab)
int blockvector_contains_pc (struct blockvector *bv, CORE_ADDR pc)
struct call_sitecall_site_for_pc (struct gdbarch *gdbarch, CORE_ADDR pc)
struct blockvectorblockvector_for_pc (CORE_ADDR pc, struct block **pblock)
struct blockblock_for_pc_sect (CORE_ADDR pc, struct obj_section *section)
struct blockblock_for_pc (CORE_ADDR pc)
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, struct obstack *obstack)
struct blockblock_static_block (const struct block *block)
struct blockblock_global_block (const struct block *block)
struct blockallocate_block (struct obstack *obstack)
struct blockallocate_global_block (struct obstack *obstack)
void set_block_symtab (struct block *block, struct symtab *symtab)
static struct symtabget_block_symtab (const struct block *block)
static void initialize_block_iterator (const struct block *block, struct block_iterator *iter)
static struct symtabfind_iterator_symtab (struct block_iterator *iterator)
static struct symbolblock_iterator_step (struct block_iterator *iterator, int first)
struct symbolblock_iterator_first (const struct block *block, struct block_iterator *iterator)
struct symbolblock_iterator_next (struct block_iterator *iterator)
static struct symbolblock_iter_name_step (struct block_iterator *iterator, const char *name, int first)
struct symbolblock_iter_name_first (const struct block *block, const char *name, struct block_iterator *iterator)
struct symbolblock_iter_name_next (const char *name, struct block_iterator *iterator)
static struct symbolblock_iter_match_step (struct block_iterator *iterator, const char *name, symbol_compare_ftype *compare, int first)
struct symbolblock_iter_match_first (const struct block *block, const char *name, symbol_compare_ftype *compare, struct block_iterator *iterator)
struct symbolblock_iter_match_next (const char *name, symbol_compare_ftype *compare, struct block_iterator *iterator)

Function Documentation

struct block* allocate_block ( struct obstack *  obstack) [read]
struct block* allocate_global_block ( struct obstack *  obstack) [read]

Definition at line 392 of file block.c.

References global_block::block, and OBSTACK_ZALLOC.

Referenced by finalize_symtab(), finish_block_internal(), and get_java_class_symtab().

struct symbol* block_containing_function ( const struct block bl) [read]

Definition at line 90 of file block.c.

References BLOCK_FUNCTION, and BLOCK_SUPERBLOCK.

Referenced by create_sals_line_offset().

struct block* block_for_pc ( CORE_ADDR  pc) [read]
struct block* block_for_pc_sect ( CORE_ADDR  pc,
struct obj_section section 
) [read]
struct block* block_global_block ( const struct block block) [read]
static void block_initialize_namespace ( struct block block,
struct obstack *  obstack 
) [static]

Definition at line 324 of file block.c.

References BLOCK_NAMESPACE.

Referenced by block_set_scope(), and block_set_using().

int block_inlined_p ( const struct block bl)
struct symbol* block_iter_match_first ( const struct block block,
const char *  name,
symbol_compare_ftype compare,
struct block_iterator iterator 
) [read]
struct symbol* block_iter_match_next ( const char *  name,
symbol_compare_ftype compare,
struct block_iterator iterator 
) [read]
static struct symbol* block_iter_match_step ( struct block_iterator iterator,
const char *  name,
symbol_compare_ftype compare,
int  first 
) [static, read]
struct symbol* block_iter_name_first ( const struct block block,
const char *  name,
struct block_iterator iterator 
) [read]
struct symbol* block_iter_name_next ( const char *  name,
struct block_iterator iterator 
) [read]
static struct symbol* block_iter_name_step ( struct block_iterator iterator,
const char *  name,
int  first 
) [static, read]
struct symbol* block_iterator_first ( const struct block block,
struct block_iterator iterator 
) [read]
struct symbol* block_iterator_next ( struct block_iterator iterator) [read]
static struct symbol* block_iterator_step ( struct block_iterator iterator,
int  first 
) [static, read]
struct symbol* block_linkage_function ( const struct block bl) [read]
const char* block_scope ( const struct block block)
void block_set_scope ( struct block block,
const char *  scope,
struct obstack *  obstack 
)

Definition at line 286 of file block.c.

References block_initialize_namespace(), and BLOCK_NAMESPACE.

Referenced by cp_set_block_scope(), and read_func_scope().

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

Definition at line 311 of file block.c.

References block_initialize_namespace(), and BLOCK_NAMESPACE.

Referenced by finish_block_internal().

struct block* block_static_block ( const struct block block) [read]
struct using_direct* block_using ( const struct block block) [read]

Definition at line 298 of file block.c.

References BLOCK_NAMESPACE.

Referenced by cp_lookup_symbol_imports(), and make_symbol_overload_list_using().

int blockvector_contains_pc ( struct blockvector bv,
CORE_ADDR  pc 
)

Definition at line 188 of file block.c.

References find_block_in_blockvector().

Referenced by recursively_find_pc_sect_symtab().

struct blockvector* blockvector_for_pc ( CORE_ADDR  pc,
struct block **  pblock 
) [read]

Definition at line 231 of file block.c.

References blockvector_for_pc_sect(), and find_pc_mapped_section().

Referenced by block_starting_point_at().

struct blockvector* blockvector_for_pc_sect ( CORE_ADDR  pc,
struct obj_section section,
struct block **  pblock,
struct symtab symtab 
) [read]
struct call_site* call_site_for_pc ( struct gdbarch gdbarch,
CORE_ADDR  pc 
) [read]
int contained_in ( const struct block a,
const struct block b 
)
static struct block* find_block_in_blockvector ( struct blockvector bl,
CORE_ADDR  pc 
) [static, read]
static struct symtab* find_iterator_symtab ( struct block_iterator iterator) [static, read]
static struct symtab* get_block_symtab ( const struct block block) [static, read]

Definition at line 415 of file block.c.

References BLOCK_SUPERBLOCK, gdb_assert, and global_block::symtab.

Referenced by initialize_block_iterator().

static void initialize_block_iterator ( const struct block block,
struct block_iterator iter 
) [static]
void set_block_symtab ( struct block block,
struct symtab symtab 
)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines