[Bug c++/51494] Legal program rejection - capturing "this" when using static method inside lambda

jason at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Mar 8 16:04:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51494

--- Comment #9 from Jason Merrill <jason at gcc dot gnu.org> 2013-03-08 16:03:57 UTC ---
Author: jason
Date: Fri Mar  8 16:03:48 2013
New Revision: 196549

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=196549
Log:
    PR c++/51494
    PR c++/51884
    PR c++/56222
    * tree.c (maybe_dummy_object): Don't capture 'this'.
    * semantics.c (maybe_resolve_dummy): New.
    (finish_non_static_data_member): Use it.
    (finish_qualified_id_expr): Don't test is_dummy_object.
    * cp-tree.h: Declare maybe_resolve_dummy.
    * call.c (build_new_method_call_1): Use it.

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this11.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/call.c
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/semantics.c
    trunk/gcc/cp/tree.c



More information about the Gcc-bugs mailing list