re PR c++/61636 (generic lambda: segfault / "cannot call member function without object")
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. From-SVN: r244544
Showing
- gcc/cp/ChangeLog 12 additions, 0 deletionsgcc/cp/ChangeLog
- gcc/cp/cp-tree.h 1 addition, 0 deletionsgcc/cp/cp-tree.h
- gcc/cp/lambda.c 48 additions, 13 deletionsgcc/cp/lambda.c
- gcc/cp/parser.c 1 addition, 0 deletionsgcc/cp/parser.c
- gcc/cp/pt.c 33 additions, 12 deletionsgcc/cp/pt.c
- gcc/testsuite/ChangeLog 8 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/g++.dg/cpp1y/pr61636-1.C 31 additions, 0 deletionsgcc/testsuite/g++.dg/cpp1y/pr61636-1.C
- gcc/testsuite/g++.dg/cpp1y/pr61636-2.C 72 additions, 0 deletionsgcc/testsuite/g++.dg/cpp1y/pr61636-2.C
- gcc/testsuite/g++.dg/cpp1y/pr61636-3.C 25 additions, 0 deletionsgcc/testsuite/g++.dg/cpp1y/pr61636-3.C
Loading
Please register or sign in to comment