diff options
author | Jason Merrill <jason@redhat.com> | 2011-11-20 21:04:54 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2011-11-20 21:04:54 -0500 |
commit | c67dd256897a902e8b2fbddb04aba837e8131721 (patch) | |
tree | cf2fb512923a06d1bef12f85419ce6c26fb8f50e /gcc/cp/ptree.c | |
parent | 80ca43a3140e5389e0b07621f9e30704f8371d20 (diff) | |
download | gcc-c67dd256897a902e8b2fbddb04aba837e8131721.zip gcc-c67dd256897a902e8b2fbddb04aba837e8131721.tar.gz gcc-c67dd256897a902e8b2fbddb04aba837e8131721.tar.bz2 |
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
Diffstat (limited to 'gcc/cp/ptree.c')
-rw-r--r-- | gcc/cp/ptree.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/cp/ptree.c b/gcc/cp/ptree.c index fb05e13..a66e695 100644 --- a/gcc/cp/ptree.c +++ b/gcc/cp/ptree.c @@ -104,6 +104,10 @@ cxx_print_type (FILE *file, tree node, int indent) indent + 4); return; + case TYPE_PACK_EXPANSION: + print_node (file, "args", PACK_EXPANSION_EXTRA_ARGS (node), indent + 4); + return; + default: return; } |