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