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