aboutsummaryrefslogtreecommitdiff
path: root/gdb/symtab.h
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2012-05-10 20:04:00 +0000
committerTom Tromey <tromey@redhat.com>2012-05-10 20:04:00 +0000
commitb5b04b5b7ad009488a07a945e28001edaf5809b5 (patch)
tree5ee1043f1d58f9eff095b23564e3aa4ad9452179 /gdb/symtab.h
parent84a146c9d3fdfcd4a45b12f88735bd77d4f8d729 (diff)
downloadgdb-b5b04b5b7ad009488a07a945e28001edaf5809b5.zip
gdb-b5b04b5b7ad009488a07a945e28001edaf5809b5.tar.gz
gdb-b5b04b5b7ad009488a07a945e28001edaf5809b5.tar.bz2
* 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 61e7c0f..526fe5a 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