From 231f22020d5c27da9088a0fc9ff8ca9e7a3e1c24 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 10 May 2012 20:03:59 +0000 Subject: * symtab.h (struct symtab) : New fields. * block.h (struct block_iterator) : New fields. * block.c (initialize_block_iterator, find_iterator_symtab) (block_iterator_step, block_iter_name_step) (block_iter_match_step): New functions. (block_iterator_first, block_iterator_next) (block_iter_name_first, block_iter_name_next) (block_iter_match_first, block_iter_match_next): Rewrite. (get_block_symtab): New function. --- gdb/symtab.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'gdb/symtab.h') diff --git a/gdb/symtab.h b/gdb/symtab.h index 61e7c0fdb92..526fe5a91bd 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -833,6 +833,23 @@ struct symtab /* struct call_site entries for this compilation unit or NULL. */ htab_t call_site_htab; + + /* If non-NULL, then this points to a NULL-terminated vector of + included symbol tables. When searching the static or global + block of this symbol table, the corresponding block of all + included symbol tables will also be searched. Note that this + list must be flattened -- the symbol reader is responsible for + ensuring that this vector contains the transitive closure of all + included symbol tables. */ + + struct symtab **includes; + + /* If this is an included symbol table, this points to one includer + of the table. This user is considered the canonical symbol table + containing this one. An included symbol table may itself be + included by another. */ + + struct symtab *user; }; #define BLOCKVECTOR(symtab) (symtab)->blockvector -- cgit v1.2.1