Fix more variadic capture issues.
commit29e10a680730cfcdec486eb2f636169e5ffb08ab
authorJason Merrill <jason@redhat.com>
Tue, 13 Feb 2018 14:22:07 +0000 (13 09:22 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Tue, 13 Feb 2018 14:22:07 +0000 (13 09:22 -0500)
tree602834c72b6c4146330bf07aa0709513ff34785f
parent812c0795283d5eaebf84922e3d1951fdba1936c5
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.

From-SVN: r257627
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]