This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]