This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/20293] [3.4/4.0/4.1 regression] Wrong diagnostic for ambiguous access



------- Comment #8 from mmitchel at gcc dot gnu dot org  2005-11-14 01:45 -------
Subject: Bug 20293

Author: mmitchel
Date: Mon Nov 14 01:45:19 2005
New Revision: 106879

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=106879
Log:
        PR c++/20293
        * cxx-pretty-print.c (pp_cxx_statement): Print qualifying scopes
        for namespaces.
        (pp_cxx_original_namespace_definition): Likewise.
        * name-lookup.c (ambiguous_decl): Don't issue error messages;
        instead return lists of ambiguous candidates.
        (select_decl): Handle ambiguous namespace lookups.
        * parser.c (cp_token): Add ambiguous_p.
        (cp_lexer_get_preprocessor_token): Set it.
        (cp_parser_diagnose_invalid_type_name): Avoid duplicate messages
        when a qualified name uses an invalid scope. 
        (cp_parser_primary_expression): Print ambiguous candidates.
        (cp_parser_type_parameter): Adjust comment to reflect new
        parameter name for cp_parser_lookup_name.
        (cp_parser_template_argument): Likewise.
        (cp_parser_elaborated_type_specifier): Likewise.
        (cp_parser_namespace_name): Likewise.
        (cp_parser_class_name): Print ambiguous candidates.
        (cp_parser_lookup_name): Rename ambiguous_p parameter to
        ambiguous_decls.  Use it to return a list of ambiguous candiates
        when a lookup is ambiguous.
        (cp_parser_lookup_name_simple): Adjust comment to reflect new
        parameter name for cp_parser_lookup_name.

        PR c++/20293
        * g++.dg/parse/ambig4.C: New test.
        * g++.dg/tc1/dr101.C: Adjust error markers.
        * g++.dg/lookup/strong-using-2.C: Likewise.
        * g++.dg/lookup/ambig5.C: Likewise.
        * g++.dg/lookup/ambig4.C: Likewise.
        * g++.dg/parse/crash22.C: Likewise.

Added:
    trunk/gcc/testsuite/g++.dg/parse/ambig4.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/cxx-pretty-print.c
    trunk/gcc/cp/name-lookup.c
    trunk/gcc/cp/parser.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/lookup/ambig4.C
    trunk/gcc/testsuite/g++.dg/lookup/ambig5.C
    trunk/gcc/testsuite/g++.dg/lookup/strong-using-2.C
    trunk/gcc/testsuite/g++.dg/parse/crash22.C
    trunk/gcc/testsuite/g++.dg/tc1/dr101.C


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20293


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]