diff options
Diffstat (limited to 'gdb/cp-namespace.c')
-rw-r--r-- | gdb/cp-namespace.c | 51 |
1 files changed, 27 insertions, 24 deletions
diff --git a/gdb/cp-namespace.c b/gdb/cp-namespace.c index a573b14..593340a 100644 --- a/gdb/cp-namespace.c +++ b/gdb/cp-namespace.c @@ -42,7 +42,7 @@ static struct block_symbol const char *nested_name, const char *concatenated_name, const struct block *block, - const domain_enum domain, + const domain_search_flags domain, int basic_lookup, int is_in_anonymous); static struct type *cp_lookup_transparent_type_loop (const char *name, @@ -129,7 +129,7 @@ cp_is_in_anonymous (const char *symbol_name) static struct block_symbol cp_basic_lookup_symbol (const char *name, const struct block *block, - const domain_enum domain, int is_in_anonymous) + const domain_search_flags domain, int is_in_anonymous) { struct block_symbol sym; @@ -172,7 +172,7 @@ cp_basic_lookup_symbol (const char *name, const struct block *block, static struct block_symbol cp_lookup_bare_symbol (const struct language_defn *langdef, const char *name, const struct block *block, - const domain_enum domain, int search) + const domain_search_flags domain, int search) { struct block_symbol sym; @@ -192,7 +192,7 @@ cp_lookup_bare_symbol (const struct language_defn *langdef, shared libraries we could search all of them only to find out the builtin type isn't defined in any of them. This is common for types like "void". */ - if (langdef != NULL && domain == VAR_DOMAIN) + if (langdef != nullptr && (domain & SEARCH_TYPE_DOMAIN) != 0) { struct gdbarch *gdbarch; @@ -251,7 +251,7 @@ cp_lookup_bare_symbol (const struct language_defn *langdef, static struct block_symbol cp_search_static_and_baseclasses (const char *name, const struct block *block, - const domain_enum domain, + const domain_search_flags domain, unsigned int prefix_len, int is_in_anonymous) { @@ -273,9 +273,9 @@ cp_search_static_and_baseclasses (const char *name, symbol_matches_domain (which should be replaced with something else, but it's what we have today). */ block_symbol scope_sym = lookup_symbol_in_static_block (scope.c_str (), - block, VAR_DOMAIN); + block, SEARCH_VFT); if (scope_sym.symbol == NULL) - scope_sym = lookup_global_symbol (scope.c_str (), block, VAR_DOMAIN); + scope_sym = lookup_global_symbol (scope.c_str (), block, SEARCH_VFT); if (scope_sym.symbol == NULL) return {}; @@ -285,9 +285,9 @@ cp_search_static_and_baseclasses (const char *name, static variable. E.g., "print 'function()::static_var'". */ if ((scope_type->code () == TYPE_CODE_FUNC || scope_type->code () == TYPE_CODE_METHOD) - && domain == VAR_DOMAIN) + && (domain & SEARCH_VAR_DOMAIN) != 0) return lookup_symbol (nested, scope_sym.symbol->value_block (), - VAR_DOMAIN, NULL); + domain, NULL); /* Look for a symbol named NESTED in this class/namespace. The caller is assumed to have already have done a basic lookup of NAME. @@ -308,7 +308,7 @@ cp_search_static_and_baseclasses (const char *name, static struct block_symbol cp_lookup_symbol_in_namespace (const char *the_namespace, const char *name, const struct block *block, - const domain_enum domain, int search) + const domain_search_flags domain, int search) { char *concatenated_name = NULL; int is_in_anonymous; @@ -382,7 +382,7 @@ static void cp_lookup_symbol_via_imports (const char *scope, const char *name, const struct block *block, - const domain_enum domain, + const domain_search_flags domain, const int search_scope_first, const int declaration_only, const int search_parents, @@ -503,7 +503,7 @@ static struct block_symbol cp_lookup_symbol_via_imports (const char *scope, const char *name, const struct block *block, - const domain_enum domain, + const domain_search_flags domain, const int declaration_only, const int search_parents) { @@ -560,13 +560,14 @@ struct block_symbol cp_lookup_symbol_imports_or_template (const char *scope, const char *name, const struct block *block, - const domain_enum domain) + const domain_search_flags domain) { struct symbol *function = block->function (); symbol_lookup_debug_printf ("cp_lookup_symbol_imports_or_template (%s, %s, %s, %s)", - scope, name, host_address_to_string (block), domain_name (domain)); + scope, name, host_address_to_string (block), + domain_name (domain).c_str ()); if (function != NULL && function->language () == language_cplus) { @@ -646,7 +647,7 @@ cp_lookup_symbol_imports_or_template (const char *scope, static struct block_symbol cp_lookup_symbol_via_all_imports (const char *scope, const char *name, const struct block *block, - const domain_enum domain) + const domain_search_flags domain) { struct block_symbol sym; @@ -671,13 +672,13 @@ struct block_symbol cp_lookup_symbol_namespace (const char *scope, const char *name, const struct block *block, - const domain_enum domain) + const domain_search_flags domain) { struct block_symbol sym; symbol_lookup_debug_printf ("cp_lookup_symbol_namespace (%s, %s, %s, %s)", scope, name, host_address_to_string (block), - domain_name (domain)); + domain_name (domain).c_str ()); /* First, try to find the symbol in the given namespace. */ sym = cp_lookup_symbol_in_namespace (scope, name, block, domain, 1); @@ -711,7 +712,7 @@ static struct block_symbol lookup_namespace_scope (const struct language_defn *langdef, const char *name, const struct block *block, - const domain_enum domain, + const domain_search_flags domain, const char *scope, int scope_len) { @@ -768,14 +769,15 @@ struct block_symbol cp_lookup_symbol_nonlocal (const struct language_defn *langdef, const char *name, const struct block *block, - const domain_enum domain) + const domain_search_flags domain) { struct block_symbol sym; const char *scope = block == nullptr ? "" : block->scope (); symbol_lookup_debug_printf ("cp_lookup_symbol_non_local (%s, %s (scope %s), %s)", - name, host_address_to_string (block), scope, domain_name (domain)); + name, host_address_to_string (block), scope, + domain_name (domain).c_str ()); /* First, try to find the symbol in the given namespace, and all containing namespaces. */ @@ -826,7 +828,8 @@ cp_find_type_baseclass_by_name (struct type *parent_type, const char *name) static struct block_symbol find_symbol_in_baseclass (struct type *parent_type, const char *name, - const struct block *block, const domain_enum domain, + const struct block *block, + const domain_search_flags domain, int is_in_anonymous) { int i; @@ -869,7 +872,7 @@ cp_lookup_nested_symbol_1 (struct type *container_type, const char *nested_name, const char *concatenated_name, const struct block *block, - const domain_enum domain, + const domain_search_flags domain, int basic_lookup, int is_in_anonymous) { struct block_symbol sym; @@ -933,7 +936,7 @@ struct block_symbol cp_lookup_nested_symbol (struct type *parent_type, const char *nested_name, const struct block *block, - const domain_enum domain) + const domain_search_flags domain) { /* type_name_or_error provides better error reporting using the original type. */ @@ -948,7 +951,7 @@ cp_lookup_nested_symbol (struct type *parent_type, symbol_lookup_debug_printf ("cp_lookup_nested_symbol (%s, %s, %s, %s)", type_name != NULL ? type_name : "unnamed", nested_name, host_address_to_string (block), - domain_name (domain)); + domain_name (domain).c_str ()); } switch (parent_type->code ()) |