diff options
Diffstat (limited to 'gdb/psymtab.c')
-rw-r--r-- | gdb/psymtab.c | 37 |
1 files changed, 10 insertions, 27 deletions
diff --git a/gdb/psymtab.c b/gdb/psymtab.c index 61d7c3b..eb031d3 100644 --- a/gdb/psymtab.c +++ b/gdb/psymtab.c @@ -42,7 +42,7 @@ static struct partial_symbol *lookup_partial_symbol (struct objfile *, struct partial_symtab *, const lookup_name_info &, int, - domain_enum); + domain_search_flags); static const char *psymtab_to_fullname (struct partial_symtab *ps); @@ -279,7 +279,7 @@ find_pc_sect_psymbol (struct objfile *objfile, enum language psymbol_functions::lookup_global_symbol_language (struct objfile *objfile, const char *name, - domain_enum domain, + domain_search_flags domain, bool *symbol_found_p) { *symbol_found_p = false; @@ -325,7 +325,7 @@ static struct partial_symbol * lookup_partial_symbol (struct objfile *objfile, struct partial_symtab *pst, const lookup_name_info &lookup_name, - int global, domain_enum domain) + int global, domain_search_flags domain) { struct partial_symbol **start, **psym; struct partial_symbol **top, **real_top, **bottom, **center; @@ -385,8 +385,7 @@ lookup_partial_symbol (struct objfile *objfile, while (top <= real_top && symbol_matches_search_name (&(*top)->ginfo, lookup_name)) { - if (symbol_matches_domain ((*top)->ginfo.language (), - (*top)->domain, domain)) + if (search_flags_matches (domain, (*top)->domain)) return *top; top++; } @@ -399,8 +398,7 @@ lookup_partial_symbol (struct objfile *objfile, { for (psym = start; psym < start + length; psym++) { - if (symbol_matches_domain ((*psym)->ginfo.language (), - (*psym)->domain, domain) + if (search_flags_matches (domain, (*psym)->domain) && symbol_matches_search_name (&(*psym)->ginfo, lookup_name)) return *psym; } @@ -802,8 +800,7 @@ recursively_search_psymtabs (struct partial_symtab *ps, struct objfile *objfile, block_search_flags search_flags, - domain_enum domain, - domain_search_flags search, + domain_search_flags domain, const lookup_name_info &lookup_name, gdb::function_view<expand_symtabs_symbol_matcher_ftype> sym_matcher) { @@ -825,7 +822,7 @@ recursively_search_psymtabs continue; r = recursively_search_psymtabs (ps->dependencies[i], - objfile, search_flags, domain, search, + objfile, search_flags, domain, lookup_name, sym_matcher); if (r != 0) { @@ -873,19 +870,7 @@ recursively_search_psymtabs { QUIT; - if ((domain == UNDEF_DOMAIN - || symbol_matches_domain ((*psym)->ginfo.language (), - (*psym)->domain, domain)) - && (search == SEARCH_ALL - || (search == SEARCH_MODULE_DOMAIN - && (*psym)->domain == MODULE_DOMAIN) - || (search == SEARCH_VAR_DOMAIN - && (*psym)->aclass != LOC_TYPEDEF - && (*psym)->aclass != LOC_BLOCK) - || (search == SEARCH_FUNCTION_DOMAIN - && (*psym)->aclass == LOC_BLOCK) - || (search == SEARCH_TYPE_DOMAIN - && (*psym)->aclass == LOC_TYPEDEF)) + if (search_flags_matches (domain, (*psym)->domain) && psymbol_name_matches (*psym, lookup_name) && (sym_matcher == NULL || sym_matcher ((*psym)->ginfo.search_name ()))) @@ -913,8 +898,7 @@ psymbol_functions::expand_symtabs_matching gdb::function_view<expand_symtabs_symbol_matcher_ftype> symbol_matcher, gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify, block_search_flags search_flags, - domain_enum domain, - domain_search_flags search) + domain_search_flags domain) { /* Clear the search flags. */ for (partial_symtab *ps : partial_symbols (objfile)) @@ -956,8 +940,7 @@ psymbol_functions::expand_symtabs_matching if (lookup_name == nullptr || recursively_search_psymtabs (ps, objfile, search_flags, - domain, search, - *psym_lookup_name, + domain, *psym_lookup_name, symbol_matcher)) { compunit_symtab *cust = psymtab_to_symtab (objfile, ps); |