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

            Bug ID: 79651
           Summary: ICE on invalid c++ code in lambda_expr_this_capture in
                    lambda.c:718
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
  Target Milestone: ---

Adopted from clang:

$ g++
/home/marxin/BIG/Programming/llvm-project/clang/test/SemaCXX/cxx1y-generic-lambdas-capturing.cpp
-std=c++1z

...

/home/marxin/BIG/Programming/llvm-project/clang/test/SemaCXX/cxx1y-generic-lambdas-capturing.cpp:911:39:
internal compiler error: in lambda_expr_this_capture, at cp/lambda.c:720
   double (*fd)(double) = [](auto a) { f(a); return a; };
                                       ^
0xafe402 lambda_expr_this_capture(tree_node*, bool)
        ../../gcc/cp/lambda.c:718
0xafee03 maybe_resolve_dummy(tree_node*, bool)
        ../../gcc/cp/lambda.c:827
0x82eba8 build_new_method_call_1
        ../../gcc/cp/call.c:8624
0x8300e8 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:8884
0x8e73e9 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
        ../../gcc/cp/pt.c:17297
0x8e2d48 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:16419
0x8dd309 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:15684
0x8dd1ee tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:15670
0x8dee77 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:15896
0x8dee77 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:15896
0x900f20 instantiate_decl(tree_node*, bool, bool)
        ../../gcc/cp/pt.c:22840
0x96c3a6 maybe_instantiate_decl
        ../../gcc/cp/decl2.c:5012
0x96cc38 mark_used(tree_node*, int)
        ../../gcc/cp/decl2.c:5108
0x82cb20 build_over_call
        ../../gcc/cp/call.c:8102
0x82fc2e build_new_method_call_1
        ../../gcc/cp/call.c:8814
0x8300e8 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:8884
0x8e73e9 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
        ../../gcc/cp/pt.c:17297
0x8d48dc tsubst(tree_node*, tree_node*, int, tree_node*)
        ../../gcc/cp/pt.c:14031
0x8d0407 tsubst_function_type
        ../../gcc/cp/pt.c:13091
0x8d3c34 tsubst(tree_node*, tree_node*, int, tree_node*)
        ../../gcc/cp/pt.c:13859

Reply via email to