commit d04f9e7b78c9355e7b7835dc00fca3dfa4acc666
Author: Jason Merrill <jason@redhat.com>
Date: Mon Apr 16 11:31:59 2012 -0400
PR c++/50303
* pt.c (tsubst_pack_expansion): Use tsubst_expr for template
template parameters.
@@ -9518,7 +9518,7 @@ tsubst_pack_expansion (tree t, tree args, tsubst_flags_t complain,
}
/* Substitute into the PATTERN with the altered arguments. */
- if (TREE_CODE (t) == EXPR_PACK_EXPANSION)
+ if (!TYPE_P (pattern))
TREE_VEC_ELT (result, i) =
tsubst_expr (pattern, args, complain, in_decl,
/*integral_constant_expression_p=*/false);
new file mode 100644
@@ -0,0 +1,16 @@
+// PR c++/50303
+// { dg-do compile { target c++11 } }
+
+template<typename Interface>
+struct A1 {
+};
+
+template<template<class I> class... Actions>
+void g2() {
+ g2<Actions...>();
+}
+
+int main()
+{
+ g2<A1>();
+}