PR c++/87685 - generic lambda 'this' capture error.
authorJason Merrill <jason@redhat.com>
Fri, 22 Feb 2019 06:47:37 +0000 (01:47 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Fri, 22 Feb 2019 06:47:37 +0000 (01:47 -0500)
commit9adf74a36e569e555cfe41ba0304b0379e72f9c5
tree1f4db50e7e402dae2891a15270c126465e2414d9
parentd36b4bf75260d7228025af59fd811e3fd48993c6
PR c++/87685 - generic lambda 'this' capture error.

The standard says that in a generic lambda we should speculatively capture
'this' if we see a call to an overload set that contains a non-static member
function, but it seems wrong to reject the program if we can't capture,
since it might not actually be needed.

* lambda.c (lambda_expr_this_capture): Change add_capture_p to int.
(maybe_generic_this_capture): Pass -1.

From-SVN: r269095
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/lambda.c
gcc/testsuite/g++.dg/cpp1y/lambda-generic-this3.C [new file with mode: 0644]