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

Reply via email to