[Bug c++/48322] [C++0x] Plural variadic parameter packs are not expanded well

jason at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Nov 21 02:18:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48322

--- Comment #3 from Jason Merrill <jason at gcc dot gnu.org> 2011-11-21 02:04:59 UTC ---
Author: jason
Date: Mon Nov 21 02:04:54 2011
New Revision: 181547

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=181547
Log:
    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.

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/variadic120.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/cp-tree.def
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/pt.c
    trunk/gcc/cp/ptree.c
    trunk/gcc/cp/tree.c
    trunk/gcc/cp/typeck.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/cpp0x/sfinae26.C
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/std/tuple



More information about the Gcc-bugs mailing list