From 2b6ed700ac98f9851deaa6abac003d469920a334 Mon Sep 17 00:00:00 2001 From: jason Date: Mon, 21 Nov 2011 02:04:54 +0000 Subject: PR c++/48322 gcc/cp/ * cp-tree.h (PACK_EXPANSION_EXTRA_ARGS): New. * cp-tree.def (EXPR_PACK_EXPANSION): Add an operand for it. * pt.c (tsubst_pack_expansion): Set and use it. (iterative_hash_template_arg): Hash it. (template_args_equal): Compare it. (comp_template_args_with_info): Handle nulls. * tree.c (cp_walk_subtrees): Walk it. * typeck.c (structural_comptypes): Compare it. * ptree.c (cxx_print_type): Print it. libstdc++-v3/ * include/std/tuple (tuple(_UElements&&...)): Fix SFINAE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181547 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/g++.dg/cpp0x/variadic120.C | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 gcc/testsuite/g++.dg/cpp0x/variadic120.C (limited to 'gcc/testsuite/g++.dg/cpp0x/variadic120.C') diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic120.C b/gcc/testsuite/g++.dg/cpp0x/variadic120.C new file mode 100644 index 00000000000..e26ee4e9abe --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/variadic120.C @@ -0,0 +1,24 @@ +// PR c++/48322 +// { dg-do compile { target c++11 } } + +template struct tuple; +template struct tuple { T t; }; + +template struct pair; +template<> struct pair { }; + +template +struct A +{ + template ...> > + static void f() + { + V v; + } +}; + +int main() +{ + A::f(); +} -- cgit v1.2.1