/cp
2013-10-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56060
* pt.c (type_dependent_expression_p): Handle EXPR_PACK_EXPANSION.
/testsuite
2013-10-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56060
* g++.dg/cpp0x/variadic144.C: New.
From-SVN: r203229
+2013-10-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/56060
+ * pt.c (type_dependent_expression_p): Handle EXPR_PACK_EXPANSION.
+
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58560
if (TREE_CODE (expression) == SCOPE_REF)
return false;
+ /* Always dependent, on the number of arguments if nothing else. */
+ if (TREE_CODE (expression) == EXPR_PACK_EXPANSION)
+ return true;
+
if (BASELINK_P (expression))
expression = BASELINK_FUNCTIONS (expression);
+2013-10-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/56060
+ * g++.dg/cpp0x/variadic144.C: New.
+
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58560
--- /dev/null
+// PR c++/56060
+// { dg-do compile { target c++11 } }
+
+template<typename T> struct baz { };
+template<typename T> T bar();
+
+template<typename T, typename ... U>
+baz<decltype(bar<T>()(bar<U> ...))> // { dg-error "cannot be used" }
+foo();
+
+int main()
+{
+ foo<int>(); // { dg-error "no matching" }
+ return 0;
+}