http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52343
--- Comment #5 from Dodji Seketeli <dodji at gcc dot gnu.org> 2013-01-07 08:03:39 UTC --- 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