PR c++/61636
commite395357f8d759c7c86b06bd02414e8927f94a766
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 Jan 2017 18:22:34 +0000 (17 18:22 +0000)
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 Jan 2017 18:22:34 +0000 (17 18:22 +0000)
tree127551e9b5d51e1763e5a76af78e43a959b28a43
parent84a95d7fd98a4c0601f2803fc0ab983797eb9ead
PR c++/61636
* cp-tree.h (maybe_generic_this_capture): Declare.
* lambda.c (resolvable_dummy_lambda): New, broken out of ...
(maybe_resolve_dummy): ... here.  Call it.
(maybe_generic_this_capture): New.
* parser.c (cp_parser_postfix_expression): Speculatively capture
this in generic lambda in unresolved member function call.
* pt.c (tsubst_copy_and_build): Force hard error from failed
member function lookup in generic lambda.

PR c++/61636
* g++.dg/cpp1y/pr61636-1.C: New.
* g++.dg/cpp1y/pr61636-2.C: New.
* g++.dg/cpp1y/pr61636-3.C: New.

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