This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFA] Fix c++/16253 (tag/variable name collision)
- From: Joel Brobecker <brobecker at adacore dot com>
- To: Keith Seitz <keiths at redhat dot com>
- Cc: "gp >> \"gdb-patches at sourceware dot org ml\"" <gdb-patches at sourceware dot org>
- Date: Wed, 26 Mar 2014 06:40:48 -0700
- Subject: Re: [RFA] Fix c++/16253 (tag/variable name collision)
- Authentication-results: sourceware.org; auth=none
- References: <532C810F dot 7010809 at redhat dot com>
Hey again, Keith,
> ChangeLog
> 2014-03-20 Keith Seitz <keiths@redhat.com>
>
> PR c++/16253
> * ada-lang.c (ada_symbol_matches_domain): Moved here and renamed
> from symbol_matches_domain in symtab.c. All local callers
> of symbol_matches_domain updated.
> (standard_lookup): If DOMAIN is VAR_DOMAIN and no symbol is found,
> search STRUCT_DOMAIN.
> (ada_find_any_type_symbol): Do not search STRUCT_DOMAIN
> independently. standard_lookup will do that automatically.
> * ada-tasks.c (get_tcb_types_info): Search STRUCT_DOMAIN for
> types, not VAR_DOMAIN.
> * cp-namespace.c (cp_lookup_symbol_nonlocal): Explain when/why
> VAR_DOMAIN searches may return a STRUCT_DOMAIN match.
> (cp_lookup_symbol_in_namespace): Likewise.
> If no VAR_DOMAIN symbol is found, search STRUCT_DOMAIN.
> (cp_lookup_symbol_exports): Explain when/why VAR_DOMAIN searches
> may return a STRUCT_DOMAIN match.
> (lookup_symbol_file): Search for the class name in STRUCT_DOMAIN.
> * cp-support.c: Include language.h.
> (inspect_type): Explicitly search STRUCT_DOMAIN before searching
> VAR_DOMAIN.
> * psymtab.c (match_partial_symbol): Compare the requested
> domain with the symbol's domain directly.
> (lookup_partial_symbol): Likewise.
> * symtab.c (lookup_symbol_in_language): Explain when/why
> VAR_DOMAIN searches may return a STRUCT_DOMAIN match.
> If no VAR_DOMAIN symbol is found, search STRUCT_DOMAIN for
> appropriate languages.
> (symbol_matches_domain): Renamed `ada_symbol_matches_domain'
> and moved to ada-lang.c
> (lookup_block_symbol): Explain that this function only returns
> symbol matching the requested DOMAIN.
> Compare the requested domain with the symbol's domain directly.
> (iterate_over_symbols): Compare the requested domain with the
> symbol's domain directly.
> * symtab.h (symbol_matches_domain): Remove.
Would you mind committing the ada-tasks.c change now, and separately
from the rest? It's an improvement on its own. FTR, I tested this part
of the patch isolated from the rest on x86_64-linux.
Thanks!
--
Joel