summaryrefslogtreecommitdiff
path: root/gdb/symtab.h
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2012-05-10 20:03:59 +0000
committerTom Tromey <tromey@redhat.com>2012-05-10 20:03:59 +0000
commit231f22020d5c27da9088a0fc9ff8ca9e7a3e1c24 (patch)
treef2b6cbe17cd4e7f08b5666ba956a33da3d2292c2 /gdb/symtab.h
parentacd8b956f985b1cb4ceec33b64d5be4e4bc2f973 (diff)
downloadgdb-231f22020d5c27da9088a0fc9ff8ca9e7a3e1c24.tar.gz
* symtab.h (struct symtab) <includes, user>: New fields.
* block.h (struct block_iterator) <d, idx, which>: 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.
Diffstat (limited to 'gdb/symtab.h')
-rw-r--r--gdb/symtab.h17
1 files changed, 17 insertions, 0 deletions
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