mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-22 17:40:45 +08:00
re PR c++/50303 ([C++0x] Segfault with variadic template template parameters)
PR c++/50303 * pt.c (tsubst_pack_expansion): Use tsubst_expr for template template parameters. From-SVN: r186519
This commit is contained in:
parent
a49870d5b2
commit
99d4f8f704
@ -1,3 +1,9 @@
|
||||
2012-04-16 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/50303
|
||||
* pt.c (tsubst_pack_expansion): Use tsubst_expr for template
|
||||
template parameters.
|
||||
|
||||
2012-04-16 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/49152
|
||||
|
@ -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);
|
||||
|
@ -1,3 +1,8 @@
|
||||
2012-04-16 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/50303
|
||||
* g++.dg/cpp0x/variadic128.C: New.
|
||||
|
||||
2012-04-16 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
PR fortran/52864
|
||||
|
16
gcc/testsuite/g++.dg/cpp0x/variadic128.C
Normal file
16
gcc/testsuite/g++.dg/cpp0x/variadic128.C
Normal file
@ -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>();
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user