PR c++/39863
* pt.c (tsubst_pack_expansion): Don't do anything now if we
have incomplete packs of different lengths.
From-SVN: r152537
2009-10-07 Jason Merrill <jason@redhat.com>
+ PR c++/39863
+ * pt.c (tsubst_pack_expansion): Don't do anything now if we
+ have incomplete packs of different lengths.
+
PR c++/41038
* tree.c (build_qualified_name): Call convert_from_reference.
}
else if (len != my_len)
{
+ if (incomplete)
+ /* We got explicit args for some packs but not others;
+ do nothing now and try again after deduction. */
+ return t;
if (TREE_CODE (t) == TYPE_PACK_EXPANSION)
error ("mismatched argument pack lengths while expanding "
"%<%T%>",
+2009-10-07 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/variadic95.C: New.
+
2009-10-07 Jason Merrill <jason@redhat.com>
* g++.dg/template/scope3.C: New.
--- /dev/null
+// PR c++/39863
+// { dg-options -std=c++0x }
+
+template <typename... T>
+struct A {};
+
+template <typename T, typename U>
+struct S {};
+
+template <typename... T, typename... U>
+A< S<T, U>... > f(U... u)
+{ return A< S<T, U>... >(); }
+
+int main()
+{
+ f<int>(0.0);
+}