Hi,

As a follow up of c++/14258, this one is about undiagnosed using
declarations whose nested-name-specifier is not a base.
The diagnostic was only emitted at instantiation time, whereas it
could be emitted before.
I just removed a test to perform the verification before
instantiation, it seems to work.
Tested x86_64-unknown-linux-gnu, OK to commit ?

gcc/testsuite/ChangeLog

2011-12-20  Fabien Chêne  <fab...@gcc.gnu.org>

        PR c++/23211
        * g++.dg/template/using18.C: New.
        * g++.dg/template/nested3.C: Remove dg-message on the
        instantiation.
        * g++.dg/template/crash13.C: Likewise.

gcc/cp/ChangeLog

2011-12-20  Fabien Chêne  <fab...@gcc.gnu.org>

        PR c++/23211
        * name-lookup.c (do_class_using_decl): Check that the
        nested-name-specifier of a class-scope using declaration refers to
        a base class, even if the current scope is dependent.
        * parser.c (cp_parser_using_declaration): Set
        USING_DECL_TYPENAME_P to 1 if the DECL is not null. Re-indent a
        'else' close to the prior modification.

-- 
Fabien

Attachment: 23211.patch
Description: Binary data

Reply via email to