PR c++/56059
* tree.c (strip_typedefs_expr) [TREE_VEC]: Preserve non-default
template args count.
From-SVN: r195355
+2013-01-21 Jason Merrill <jason@redhat.com>
+
+ PR c++/56059
+ * tree.c (strip_typedefs_expr) [TREE_VEC]: Preserve non-default
+ template args count.
+
2013-01-18 Jason Merrill <jason@redhat.com>
PR target/54908
r = copy_node (t);
for (i = 0; i < n; ++i)
TREE_VEC_ELT (r, i) = (*vec)[i];
+ SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT
+ (r, GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT (t));
}
else
r = t;
--- /dev/null
+// PR c++/56059
+// { dg-options -std=c++11 }
+
+typedef int Int;
+template<typename T> struct baz { };
+template<typename T> T bar();
+
+template<typename T, typename ... U>
+baz<decltype(bar<Int>(bar<U>() ...))> // { dg-error "no match" }
+foo();
+
+int main()
+{
+ foo<int, int>(); // { dg-error "no match" }
+ return 0;
+}