[Bug c++/100291] [8/9/10/11/12 Regression] internal compiler error: trying to capture ‘this’ in instantiation of generic lambda

mpolacek at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Apr 27 17:12:22 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100291

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2
   Target Milestone|---                         |8.5
           Keywords|                            |ice-on-invalid-code
            Summary|internal compiler error:    |[8/9/10/11/12 Regression]
                   |trying to capture ‘this’ in |internal compiler error:
                   |instantiation of generic    |trying to capture ‘this’ in
                   |lambda                      |instantiation of generic
                   |                            |lambda
                 CC|                            |nathan at gcc dot gnu.org

--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
I think this is ICE-on-invalid.  Started with r245065:

/home/mpolacek/w.C:119:57: internal compiler error: in
finish_member_declaration, at cp/semantics.c:2969
                [&](auto, auto cmp) { SingleStepper::time(cmp.state); });
                                      ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
0x9ac65b finish_member_declaration(tree_node*)
        ../../gcc/cp/semantics.c:2966
0xa52ce3 add_capture(tree_node*, tree_node*, tree_node*, bool, bool)
        ../../gcc/cp/lambda.c:600
0xa53090 add_default_capture(tree_node*, tree_node*, tree_node*)
        ../../gcc/cp/lambda.c:669
0xa538dd lambda_expr_this_capture(tree_node*, bool)
        ../../gcc/cp/lambda.c:760
0xa53ca1 maybe_resolve_dummy(tree_node*, bool)
        ../../gcc/cp/lambda.c:827
0x787891 build_new_method_call_1
        ../../gcc/cp/call.c:8760
0x787f30 build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, tree_node*, int, tree_node**, int)
        ../../gcc/cp/call.c:8870
0x83ef22 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
        ../../gcc/cp/pt.c:17279
0x83a881 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:16401
0x834e7e tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:15669
0x8369b0 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:15879
0x8369b0 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:15879
0x858968 instantiate_decl(tree_node*, int, bool)
        ../../gcc/cp/pt.c:22817
0x8c2790 maybe_instantiate_decl
        ../../gcc/cp/decl2.c:5008
0x8c3060 mark_used(tree_node*, int)
        ../../gcc/cp/decl2.c:5107
0x784968 build_over_call
        ../../gcc/cp/call.c:8088
0x77593c build_op_call_1
        ../../gcc/cp/call.c:4518
0x775acc build_op_call(tree_node*, vec<tree_node*, va_gc, vl_embed>**, int)
        ../../gcc/cp/call.c:4544
0x9aa173 finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool,
bool, int)
        ../../gcc/cp/semantics.c:2458
0x83ef56 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
        ../../gcc/cp/pt.c:17286


More information about the Gcc-bugs mailing list