diff options
author | Tom Tromey <tromey@adacore.com> | 2019-07-12 13:34:52 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2019-09-10 08:30:45 -0600 |
commit | b054970d54e141e5d2c824223772685742af2c2a (patch) | |
tree | 3542155421525de7fb5cafd2f71d516768138a8b /gdb/ada-lang.c | |
parent | 6a3dbf1bc620ae068c84074b2f72e11c24dc1e6d (diff) | |
download | gdb-b054970d54e141e5d2c824223772685742af2c2a.zip gdb-b054970d54e141e5d2c824223772685742af2c2a.tar.gz gdb-b054970d54e141e5d2c824223772685742af2c2a.tar.bz2 |
Change map_matching_symbols to take a lookup_name_info
This patch further simplifies the map_matching_symbols callback, by
having it take a lookup_name_info rather than a plain string.
gdb/ChangeLog
2019-09-10 Tom Tromey <tromey@adacore.com>
* ada-lang.c (add_nonlocal_symbols): Combine calls to
map_matching_symbols. Update.
* dwarf2read.c (dw2_map_matching_symbols): Update.
* psymtab.c (match_partial_symbol): Change type; update.
(psym_map_matching_symbols): Likewise.
* symfile-debug.c (debug_qf_map_matching_symbols): Change
type; update.
* symfile.h (struct quick_symbol_functions)
<map_matching_symbols>: Change "name" to be a lookup_name_info.
Remove "match".
Diffstat (limited to 'gdb/ada-lang.c')
-rw-r--r-- | gdb/ada-lang.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 21d40c7..8cdb62b 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -5550,16 +5550,10 @@ add_nonlocal_symbols (struct obstack *obstackp, { data.objfile = objfile; - if (is_wild_match) - objfile->sf->qf->map_matching_symbols (objfile, lookup_name.name ().c_str (), - domain, global, callback, - symbol_name_match_type::WILD, - NULL); - else - objfile->sf->qf->map_matching_symbols (objfile, lookup_name.name ().c_str (), - domain, global, callback, - symbol_name_match_type::FULL, - compare_names); + objfile->sf->qf->map_matching_symbols (objfile, lookup_name, + domain, global, callback, + (is_wild_match + ? NULL : compare_names)); for (compunit_symtab *cu : objfile->compunits ()) { @@ -5575,14 +5569,14 @@ add_nonlocal_symbols (struct obstack *obstackp, if (num_defns_collected (obstackp) == 0 && global && !is_wild_match) { const char *name = ada_lookup_name (lookup_name); - std::string name1 = std::string ("<_ada_") + name + '>'; + lookup_name_info name1 (std::string ("<_ada_") + name + '>', + symbol_name_match_type::FULL); for (objfile *objfile : current_program_space->objfiles ()) { data.objfile = objfile; - objfile->sf->qf->map_matching_symbols (objfile, name1.c_str (), + objfile->sf->qf->map_matching_symbols (objfile, name1, domain, global, callback, - symbol_name_match_type::FULL, compare_names); } } |