This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/51145] [C++11][DR 1131] Alias template in elaborated-type-specifier accepted
- From: "dodji at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 23 Nov 2011 08:24:08 +0000
- Subject: [Bug c++/51145] [C++11][DR 1131] Alias template in elaborated-type-specifier accepted
- Auto-submitted: auto-generated
- References: <bug-51145-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51145
--- Comment #5 from Dodji Seketeli <dodji at gcc dot gnu.org> 2011-11-23 08:24:08 UTC ---
Author: dodji
Date: Wed Nov 23 08:23:59 2011
New Revision: 181653
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=181653
Log:
PR c++/51145 - Alias template in elaborated-type-specifier accepted
gcc/cp/
PR c++/51145
* decl.c (check_elaborated_type_specifier): Gracefully handle
error_mark_node. Accept bound template template parameters.
Update diagnostics for alias template specializations. Update
comment.
* parser.c (cp_parser_elaborated_type_specifier): Use
check_elaborated_type_specifier for simple-template-ids as well.
gcc/testsuite/
PR c++/51145
* g++.dg/cpp0x/alias-decl-14.C: New test.
* g++.dg/cpp0x/alias-decl-2.C: Adjust for tests that were wrongly
passing before.
* g++.dg/cpp0x/alias-decl-10.C: Likewise and adjust for diagnostic
change.
* g++.dg/ext/attrib27.C: Adjust for diagnostic change.
* g++.dg/lookup/struct1.C: Likewise.
* g++.dg/parse/elab1.C: Likewise.
* g++.dg/parse/elab2.C: Likewise.
* g++.dg/parse/int-as-enum1.C: Likewise.
* g++.dg/parse/typedef1.C: Likewise.
* g++.dg/parse/typedef3.C: Likewise.
* g++.dg/parse/typedef4.C: Likewise.
* g++.dg/parse/typedef5.C: Likewise.
* g++.dg/template/crash26.C: Likewise.
* g++.dg/template/nontype4.C: Likewise.
* g++.old-deja/g++.benjamin/typedef01.C: Likewise.
* g++.old-deja/g++.brendan/line1.C: Likewise.
* g++.old-deja/g++.other/elab1.C: Likewise.
* g++.old-deja/g++.other/syntax4.C: Likewise.
Added:
trunk/gcc/testsuite/g++.dg/cpp0x/alias-decl-14.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp0x/alias-decl-10.C
trunk/gcc/testsuite/g++.dg/cpp0x/alias-decl-2.C
trunk/gcc/testsuite/g++.dg/ext/attrib27.C
trunk/gcc/testsuite/g++.dg/lookup/struct1.C
trunk/gcc/testsuite/g++.dg/parse/elab1.C
trunk/gcc/testsuite/g++.dg/parse/elab2.C
trunk/gcc/testsuite/g++.dg/parse/int-as-enum1.C
trunk/gcc/testsuite/g++.dg/parse/typedef1.C
trunk/gcc/testsuite/g++.dg/parse/typedef3.C
trunk/gcc/testsuite/g++.dg/parse/typedef4.C
trunk/gcc/testsuite/g++.dg/parse/typedef5.C
trunk/gcc/testsuite/g++.dg/template/crash26.C
trunk/gcc/testsuite/g++.dg/template/nontype4.C
trunk/gcc/testsuite/g++.old-deja/g++.benjamin/typedef01.C
trunk/gcc/testsuite/g++.old-deja/g++.brendan/line1.C
trunk/gcc/testsuite/g++.old-deja/g++.other/elab1.C
trunk/gcc/testsuite/g++.old-deja/g++.other/syntax4.C