diff options
author | Tom Tromey <tom@tromey.com> | 2020-05-15 16:24:07 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2020-05-15 16:24:07 -0600 |
commit | d6bc0792edf0ef423ee4604bfd4bee49654314bb (patch) | |
tree | 0aa725d9640096dbcde26bc0535ff0d15c7595a1 /gdb/printcmd.c | |
parent | 8c14c3a3735d7de43e63710b2cd3a2e89cc4e243 (diff) | |
download | gdb-d6bc0792edf0ef423ee4604bfd4bee49654314bb.zip gdb-d6bc0792edf0ef423ee4604bfd4bee49654314bb.tar.gz gdb-d6bc0792edf0ef423ee4604bfd4bee49654314bb.tar.bz2 |
Remove lookup_objfile_from_block
lookup_objfile_from_block mostly duplicates the functionality of
block_objfile, but in a less efficient way. This patch removes this
function and changes the callers to use block_objfile instead.
Tested by the buildbot.
gdb/ChangeLog
2020-05-15 Tom Tromey <tom@tromey.com>
* symtab.c (lookup_language_this, lookup_symbol_aux): Use
block_objfile.
(lookup_objfile_from_block): Remove.
(lookup_symbol_in_block, lookup_symbol_in_static_block)
(lookup_global_symbol): Use block_objfile.
* symtab.h (lookup_objfile_from_block): Don't declare.
* printcmd.c (clear_dangling_display_expressions): Use
block_objfile.
* parse.c (operator_check_standard): Use block_objfile.
Diffstat (limited to 'gdb/printcmd.c')
-rw-r--r-- | gdb/printcmd.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/gdb/printcmd.c b/gdb/printcmd.c index c94ad0a..388a0b2 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -2128,12 +2128,20 @@ clear_dangling_display_expressions (struct objfile *objfile) if (d->pspace != pspace) continue; - if (lookup_objfile_from_block (d->block) == objfile + struct objfile *bl_objf = nullptr; + if (d->block != nullptr) + { + bl_objf = block_objfile (d->block); + if (bl_objf->separate_debug_objfile_backlink != nullptr) + bl_objf = bl_objf->separate_debug_objfile_backlink; + } + + if (bl_objf == objfile || (d->exp != NULL && exp_uses_objfile (d->exp.get (), objfile))) - { - d->exp.reset (); - d->block = NULL; - } + { + d->exp.reset (); + d->block = NULL; + } } } |