]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/cp/cp-tree.def
re PR c++/48322 ([C++0x] Plural variadic parameter packs are not expanded well)
authorJason Merrill <jason@redhat.com>
Mon, 21 Nov 2011 02:04:54 +0000 (21:04 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Mon, 21 Nov 2011 02:04:54 +0000 (21:04 -0500)
commitc67dd256897a902e8b2fbddb04aba837e8131721
treecf2fb512923a06d1bef12f85419ce6c26fb8f50e
parent80ca43a3140e5389e0b07621f9e30704f8371d20
re PR c++/48322 ([C++0x] Plural variadic parameter packs are not expanded well)

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.

From-SVN: r181547
12 files changed:
gcc/cp/ChangeLog
gcc/cp/cp-tree.def
gcc/cp/cp-tree.h
gcc/cp/pt.c
gcc/cp/ptree.c
gcc/cp/tree.c
gcc/cp/typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/sfinae26.C
gcc/testsuite/g++.dg/cpp0x/variadic120.C [new file with mode: 0644]
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/tuple