diff options
author | Doug Evans <xdje42@gmail.com> | 2014-11-06 17:27:55 -0800 |
---|---|---|
committer | Doug Evans <xdje42@gmail.com> | 2014-11-06 17:27:55 -0800 |
commit | 2dd2cd1c92d09ad96b643d2574d0dc6cd7e4841a (patch) | |
tree | 20d531bc9e31caf93609bc0e3747fd67afb86d98 | |
parent | d4c589159dbfe23b7f5de393359da8a9dab854ed (diff) | |
download | gdb-2dd2cd1c92d09ad96b643d2574d0dc6cd7e4841a.zip gdb-2dd2cd1c92d09ad96b643d2574d0dc6cd7e4841a.tar.gz gdb-2dd2cd1c92d09ad96b643d2574d0dc6cd7e4841a.tar.bz2 |
Use ALL_PRIMARY_SYMTABS instead of ALL_SYMTABS in some places.
Non-primary symtabs share the block vector with their primary symtabs.
In these cases there's no need to use ALL_SYMTABS.
gdb/ChangeLog:
* ada-lang.c (ada_make_symbol_completion_list): Use
ALL_PRIMARY_SYMTABS instead of ALL_SYMTABS.
* symtab.c (lookup_objfile_from_block): Ditto.
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/ada-lang.c | 8 | ||||
-rw-r--r-- | gdb/symtab.c | 6 |
3 files changed, 15 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index eb227f6..89937e2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2014-11-06 Doug Evans <xdje42@gmail.com> + * ada-lang.c (ada_make_symbol_completion_list): Use + ALL_PRIMARY_SYMTABS instead of ALL_SYMTABS. + * symtab.c (lookup_objfile_from_block): Ditto. + +2014-11-06 Doug Evans <xdje42@gmail.com> + * gdbtypes.h (TYPE_CODE_CLASS): Delete. All uses changed to use TYPE_CODE_STRUCT. diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 5793cd2..4320eec 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -6212,9 +6212,11 @@ ada_make_symbol_completion_list (const char *text0, const char *word, } /* Go through the symtabs and check the externs and statics for - symbols which match. */ + symbols which match. + Non-primary symtabs share the block vector with their primary symtabs + so we use ALL_PRIMARY_SYMTABS here instead of ALL_SYMTABS. */ - ALL_SYMTABS (objfile, s) + ALL_PRIMARY_SYMTABS (objfile, s) { QUIT; b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), GLOBAL_BLOCK); @@ -6226,7 +6228,7 @@ ada_make_symbol_completion_list (const char *text0, const char *word, } } - ALL_SYMTABS (objfile, s) + ALL_PRIMARY_SYMTABS (objfile, s) { QUIT; b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), STATIC_BLOCK); diff --git a/gdb/symtab.c b/gdb/symtab.c index 01ddb91..e9f37bc 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -1549,8 +1549,10 @@ lookup_objfile_from_block (const struct block *block) return NULL; block = block_global_block (block); - /* Go through SYMTABS. */ - ALL_SYMTABS (obj, s) + /* Go through SYMTABS. + Non-primary symtabs share the block vector with their primary symtabs + so we use ALL_PRIMARY_SYMTABS here instead of ALL_SYMTABS. */ + ALL_PRIMARY_SYMTABS (obj, s) if (block == BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), GLOBAL_BLOCK)) { if (obj->separate_debug_objfile_backlink) |