https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82293
Bug ID: 82293 Summary: [8 Regression] ICE in nonlambda_method_basetype at gcc/cp/lambda.c:886 Product: gcc Version: unknown Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- Following ICEs starting from r251433: $ g++ /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice20.C -std=c++14 -Wshadow /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice20.C:6:29: internal compiler error: Segmentation fault int f{[this](){return 42;}()}; ~~~~~~~~~~~~~~~~~~~~^~ 0xd9905f crash_signal ../../gcc/toplev.c:341 0x6f7a8f nonlambda_method_basetype() ../../gcc/cp/lambda.c:886 0x73010f check_local_shadow ../../gcc/cp/name-lookup.c:2744 0x73010f do_pushdecl ../../gcc/cp/name-lookup.c:3048 0x73010f pushdecl(tree_node*, bool) ../../gcc/cp/name-lookup.c:3111 0x7320e7 do_pushdecl_with_scope ../../gcc/cp/name-lookup.c:3948 0x7327e7 do_pushtag ../../gcc/cp/name-lookup.c:6316 0x7327e7 pushtag(tree_node*, tree_node*, tag_scope) ../../gcc/cp/name-lookup.c:6385 0x69076f xref_tag_1 ../../gcc/cp/decl.c:13615 0x69076f xref_tag(tag_types, tree_node*, tag_scope, bool) ../../gcc/cp/decl.c:13671 0x6f4441 begin_lambda_type(tree_node*) ../../gcc/cp/lambda.c:141 0x799acf tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*) ../../gcc/cp/pt.c:16862 0x79a943 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/cp/pt.c:18209 0x79ac70 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/cp/pt.c:17522 0x79c1e0 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/cp/pt.c:18058 0x6f1047 get_nsdmi(tree_node*, bool, int) ../../gcc/cp/init.c:581 0x860b53 process_init_constructor_record ../../gcc/cp/typeck2.c:1430 0x860b53 process_init_constructor ../../gcc/cp/typeck2.c:1626 0x860b53 digest_init_r ../../gcc/cp/typeck2.c:1135 0x800f80 finish_compound_literal(tree_node*, tree_node*, int, fcl_t) ../../gcc/cp/semantics.c:2750