From b054970d54e141e5d2c824223772685742af2c2a Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 12 Jul 2019 13:34:52 -0600 Subject: 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 * 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) : Change "name" to be a lookup_name_info. Remove "match". --- gdb/ada-lang.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) (limited to 'gdb/ada-lang.c') 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); } } -- cgit v1.1