This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r194960 - in /trunk/gcc: cp/ChangeLog cp/pt.c t...
- From: dodji at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Mon, 07 Jan 2013 08:03:35 -0000
- Subject: r194960 - in /trunk/gcc: cp/ChangeLog cp/pt.c t...
Author: dodji
Date: Mon Jan 7 08:03:33 2013
New Revision: 194960
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=194960
Log:
PR c++/52343 - error with alias template as template template argument
In the example accompanying this patch, check_instantiated_arg tries
to ensure that a non-type template argument should be a constant if it
has integral or enumeration type.
The problem is that an alias template which type-id is, e.g, an
integer, looks like an argument that has integral/enumeration type:
its TREE_TYPE is an integer type. So check_instantiated_arg
mistenkaly barks that this integral non-type argument is not a
constant.
Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.
gcc/cp/
PR c++/52343
* pt.c (check_instantiated_arg): Allow type template arguments.
gcc/testsuite/
PR c++/52343
* g++.dg/cpp0x/alias-decl-29.C: New test.
Added:
trunk/gcc/testsuite/g++.dg/cpp0x/alias-decl-29.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog