24#include "gdbsupport/array-view.h"
57 CORE_ADDR
end ()
const
168 gdb::array_view<const blockrange>
ranges ()
const
182 {
return this->
ranges ().size () <= 1; }
202 return this->
start ();
204 return this->
ranges ()[0].start ();
258 gdb::array_view<struct block *>
blocks ()
264 gdb::array_view<const struct block *const>
blocks ()
const
272 {
return this->
blocks ()[i]; }
276 {
return this->
blocks ()[i]; }
356 bool allow_nested =
false);
359 const struct block **);
377 struct obstack *obstack);
383 struct obstack *obstack);
534#define ALL_BLOCK_SYMBOLS(block, iter, sym) \
535 for ((sym) = block_iterator_first ((block), &(iter)); \
537 (sym) = block_iterator_next (&(iter)))
544#define ALL_BLOCK_SYMBOLS_WITH_NAME(block, name, iter, sym) \
545 for ((sym) = block_iter_match_first ((block), (name), &(iter)); \
547 (sym) = block_iter_match_next ((name), &(iter)))
552 const std::vector<blockrange> &rangevec);
struct symbol * block_iter_match_next(const lookup_name_info &name, struct block_iterator *iterator)
bool best_symbol(struct symbol *a, const domain_enum domain)
struct symbol * better_symbol(struct symbol *a, struct symbol *b, const domain_enum domain)
struct call_site * call_site_for_pc(struct gdbarch *gdbarch, CORE_ADDR pc)
struct symbol * block_lookup_symbol_primary(const struct block *block, const char *name, const domain_enum domain)
struct symbol * block_containing_function(const struct block *)
int block_inlined_p(const struct block *block)
struct block * allocate_block(struct obstack *obstack)
void set_block_compunit_symtab(struct block *, struct compunit_symtab *)
struct blockranges * make_blockranges(struct objfile *objfile, const std::vector< blockrange > &rangevec)
const struct block * block_global_block(const struct block *block)
void block_set_using(struct block *block, struct using_direct *using_decl, struct obstack *obstack)
struct objfile * block_objfile(const struct block *block)
struct dynamic_prop * block_static_link(const struct block *block)
struct symbol * block_find_symbol(const struct block *block, const char *name, const domain_enum domain, block_symbol_matcher_ftype *matcher, void *data)
const struct block * block_for_pc_sect(CORE_ADDR, struct obj_section *)
struct using_direct * block_using(const struct block *block)
void block_set_scope(struct block *block, const char *scope, struct obstack *obstack)
const struct blockvector * blockvector_for_pc_sect(CORE_ADDR, struct obj_section *, const struct block **, struct compunit_symtab *)
struct gdbarch * block_gdbarch(const struct block *block)
struct symbol * block_lookup_symbol(const struct block *block, const char *name, symbol_name_match_type match_type, const domain_enum domain)
int() block_symbol_matcher_ftype(struct symbol *, void *)
const struct blockvector * blockvector_for_pc(CORE_ADDR, const struct block **)
const struct block * block_for_pc(CORE_ADDR)
int blockvector_contains_pc(const struct blockvector *bv, CORE_ADDR pc)
struct block * allocate_global_block(struct obstack *obstack)
const struct block * block_static_block(const struct block *block)
struct symbol * block_linkage_function(const struct block *)
int block_find_non_opaque_type_preferred(struct symbol *sym, void *data)
struct symbol * block_iter_match_first(const struct block *block, const lookup_name_info &name, struct block_iterator *iterator)
const char * block_scope(const struct block *block)
struct symbol * block_iterator_next(struct block_iterator *iterator)
struct symbol * block_iterator_first(const struct block *block, struct block_iterator *iterator)
int block_find_non_opaque_type(struct symbol *sym, void *data)
bool contained_in(const struct block *a, const struct block *b, bool allow_nested=false)
union block_iterator::@19 d
const struct block * block
struct compunit_symtab * compunit_symtab
struct mdict_iterator mdict_iter
const block * superblock() const
const struct block * m_superblock
bool is_contiguous() const
multidictionary * multidict() const
void set_start(CORE_ADDR start)
struct multidictionary * m_multidict
gdb::array_view< blockrange > ranges()
CORE_ADDR entry_pc() const
struct blockranges * m_ranges
void set_multidict(multidictionary *multidict)
block_namespace_info * namespace_info() const
struct block_namespace_info * m_namespace_info
void set_namespace_info(block_namespace_info *namespace_info)
void set_end(CORE_ADDR end)
symbol * function() const
gdb::array_view< const blockrange > ranges() const
void set_superblock(const block *superblock)
void set_function(symbol *function)
void set_ranges(blockranges *ranges)
struct symbol * m_function
void set_end(CORE_ADDR end)
void set_start(CORE_ADDR start)
blockrange(CORE_ADDR start, CORE_ADDR end)
struct blockrange range[1]
const struct block * global_block() const
struct block * block(size_t i)
struct block * static_block()
gdb::array_view< const struct block *const > blocks() const
const struct block * static_block() const
gdb::array_view< struct block * > blocks()
const struct block * block(size_t i) const
struct block * m_blocks[1]
void set_map(addrmap *map)
void set_block(int i, struct block *block)
const addrmap * map() const
struct block * global_block()
void set_num_blocks(int num_blocks)
struct compunit_symtab * compunit_symtab
domain_enum domain() const