PR c++/84338 - wrong variadic sizeof.
commit1108bdc1b409ff80fd655a8fb8e2cb1e635c90e3
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 Feb 2018 14:22:01 +0000 (13 14:22 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 Feb 2018 14:22:01 +0000 (13 14:22 +0000)
tree5e83af3177cc1b7f03012582a3c24d981ede24bd
parentad698af5faacdaec0f22fa3edbcd1016a9283956
PR c++/84338 - wrong variadic sizeof.

* pt.c (argument_pack_select_arg): Like the macro, but look through
a pack expansion.
(tsubst, tsubst_copy, dependent_template_arg_p): Use it.
(extract_fnparm_pack): Do make_pack_expansion.
(extract_locals_r): Do strip a pack expansion.
* cp-tree.h (ARGUMENT_PACK_SELECT_ARG): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@257626 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/pt.c
gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic13.C [new file with mode: 0644]