commit 047661c30a4c6174fc8b994fcdd3eb344d10609c
Author: Jason Merrill <jason@redhat.com>
Date: Sun May 22 15:06:19 2011 -0400
PR c++/48617
* pt.c (invalid_nontype_parm_type_p): Allow DECLTYPE_TYPE.
@@ -18089,6 +18089,8 @@ invalid_nontype_parm_type_p (tree type, tsubst_flags_t complain)
return 0;
else if (TREE_CODE (type) == TYPENAME_TYPE)
return 0;
+ else if (TREE_CODE (type) == DECLTYPE_TYPE)
+ return 0;
if (complain & tf_error)
error ("%q#T is not a valid type for a template constant parameter", type);
new file mode 100644
@@ -0,0 +1,9 @@
+// PR c++/48617
+// { dg-options -std=c++0x }
+
+template<class T, decltype(T())> // #
+struct A {};
+
+A<int, 0> a;
+
+int main() {}