]> gcc.gnu.org Git - gcc.git/commit
PR c++/51145 - Alias template in elaborated-type-specifier accepted
authorDodji Seketeli <dodji@redhat.com>
Wed, 23 Nov 2011 08:23:59 +0000 (08:23 +0000)
committerDodji Seketeli <dodji@gcc.gnu.org>
Wed, 23 Nov 2011 08:23:59 +0000 (09:23 +0100)
commit82daaf6d550e9380e33f802310b52c2af1758ff0
treed99b07867ba0ab8aed14e5f7ad8d2531edaf7198
parentb64cd62a6e012311c812b224198d4442a155e747
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.

From-SVN: r181653
22 files changed:
gcc/cp/ChangeLog
gcc/cp/decl.c
gcc/cp/parser.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/alias-decl-10.C
gcc/testsuite/g++.dg/cpp0x/alias-decl-14.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/alias-decl-2.C
gcc/testsuite/g++.dg/ext/attrib27.C
gcc/testsuite/g++.dg/lookup/struct1.C
gcc/testsuite/g++.dg/parse/elab1.C
gcc/testsuite/g++.dg/parse/elab2.C
gcc/testsuite/g++.dg/parse/int-as-enum1.C
gcc/testsuite/g++.dg/parse/typedef1.C
gcc/testsuite/g++.dg/parse/typedef3.C
gcc/testsuite/g++.dg/parse/typedef4.C
gcc/testsuite/g++.dg/parse/typedef5.C
gcc/testsuite/g++.dg/template/crash26.C
gcc/testsuite/g++.dg/template/nontype4.C
gcc/testsuite/g++.old-deja/g++.benjamin/typedef01.C
gcc/testsuite/g++.old-deja/g++.brendan/line1.C
gcc/testsuite/g++.old-deja/g++.other/elab1.C
gcc/testsuite/g++.old-deja/g++.other/syntax4.C
This page took 0.073552 seconds and 5 git commands to generate.