https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91862
Bug ID: 91862 Summary: [9/10 Regression] ICE in fold_convert_loc, at fold-const.c:2394 Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: gs...@t-online.de Target Milestone: --- Changed between 20190310 and 20190331. In the following, variable i is always i = 1. $ cat z1.f90 program p integer :: i character(3) :: a(3) = 'abc' character(1) :: b(1) b = [([ (a(1)(i:1), i=1,1) ])] print *, b end $ cat z2.f90 program p integer :: i character(3) :: a(3) = 'abc' character(1) :: b(1) b = [([ (a(1)(1:i), i=1,1) ])] print *, b end $ gfortran-9-20190310 -c z1.f90 $ $ gfortran-10-20190922 -c z1.f90 z1.f90:5:0: 5 | b = [([ (a(1)(i:1), i=1,1) ])] | internal compiler error: Segmentation fault 0xcd92ef crash_signal ../../gcc/toplev.c:326 0x97a3a0 contains_struct_check(tree_node*, tree_node_structure_enum, char const*, int, char const*) ../../gcc/tree.h:3380 0x97a3a0 fold_convert_loc(unsigned int, tree_node*, tree_node*) ../../gcc/fold-const.c:2394 0x701420 gfc_trans_create_temp_array(stmtblock_t*, stmtblock_t*, gfc_ss*, tree_node*, tree_node*, bool, bool, bool, locus*) ../../gcc/fortran/trans-array.c:1409 0x70e887 gfc_conv_loop_setup(gfc_loopinfo*, locus*) ../../gcc/fortran/trans-array.c:5234 0x70eb32 gfc_conv_expr_descriptor(gfc_se*, gfc_expr*) ../../gcc/fortran/trans-array.c:7412 0x7107ee get_array_ctor_all_strlen ../../gcc/fortran/trans-array.c:2103 0x7108fd get_array_ctor_strlen(stmtblock_t*, splay_tree_s*, tree_node**) ../../gcc/fortran/trans-array.c:2223 0x70dec1 trans_array_constructor ../../gcc/fortran/trans-array.c:2553 0x70dec1 gfc_add_loop_ss_code ../../gcc/fortran/trans-array.c:2918 0x70e7d5 gfc_conv_loop_setup(gfc_loopinfo*, locus*) ../../gcc/fortran/trans-array.c:5209 0x74a0db gfc_trans_assignment_1 ../../gcc/fortran/trans-expr.c:10738 0x6f79e7 trans_code ../../gcc/fortran/trans.c:1852 0x72e28d gfc_generate_function_code(gfc_namespace*) ../../gcc/fortran/trans-decl.c:6781 0x6a9046 translate_all_program_units ../../gcc/fortran/parse.c:6254 0x6a9046 gfc_parse_file() ../../gcc/fortran/parse.c:6493 0x6f3abf gfc_be_parse_file ../../gcc/fortran/f95-lang.c:204