Fix more variadic capture issues.
commita5283f322810189a156a0fb080bf6d65e6f7970e
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 Feb 2018 14:22:07 +0000 (13 14:22 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 Feb 2018 14:22:07 +0000 (13 14:22 +0000)
tree602834c72b6c4146330bf07aa0709513ff34785f
parent1108bdc1b409ff80fd655a8fb8e2cb1e635c90e3
Fix more variadic capture issues.

* pt.c (find_parameter_packs_r): Also look at explicit captures.
(check_for_bare_parameter_packs): Check current_class_type for
lambda context.
(extract_locals_r): Handle seeing a full instantiation of a pack.
(tsubst_pack_expansion): Likewise.  Force lambda capture.
* parser.c (cp_parser_lambda_introducer): Don't
check_for_bare_parameter_packs.

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