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

            Bug ID: 101513
           Summary: ICE in gfc_alloc_allocatable_for_assignment, at
                    fortran/trans-array.c:10313
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Follow-up of pr100656 :


$ cat z1.f90
subroutine s(x)
   character(:), allocatable, optional :: x(:)
   if ( present(x) ) then
      if ( allocated(x) ) then
         x = ('a' // x // 'e')
      end if
   end if
end


$ cat z2.f90
subroutine s(x)
   character(:), allocatable :: x(:)
   if ( allocated(x) ) then
      x = ('a' // x // 'e')
   end if
end


$ gfortran-12-20210718 -c z1.f90
z1.f90:5:30:

    5 |          x = ('a' // x // 'e')
      |                              1
internal compiler error: Segmentation fault
0xc9a8df crash_signal
        ../../gcc/toplev.c:328
0x9ca410 fold_convert_loc(unsigned int, tree_node*, tree_node*)
        ../../gcc/fold-const.c:2394
0x7c7ad6 gfc_alloc_allocatable_for_assignment(gfc_loopinfo*, gfc_expr*,
gfc_expr*)
        ../../gcc/fortran/trans-array.c:10313
0x7f1f65 gfc_trans_assignment_1
        ../../gcc/fortran/trans-expr.c:11592
0x7b3287 trans_code
        ../../gcc/fortran/trans.c:1918
0x821a45 gfc_trans_if_1
        ../../gcc/fortran/trans-stmt.c:1475
0x8295da gfc_trans_if(gfc_code*)
        ../../gcc/fortran/trans-stmt.c:1507
0x7b33a7 trans_code
        ../../gcc/fortran/trans.c:2006
0x821a45 gfc_trans_if_1
        ../../gcc/fortran/trans-stmt.c:1475
0x8295da gfc_trans_if(gfc_code*)
        ../../gcc/fortran/trans-stmt.c:1507
0x7b33a7 trans_code
        ../../gcc/fortran/trans.c:2006
0x7d9ae4 gfc_generate_function_code(gfc_namespace*)
        ../../gcc/fortran/trans-decl.c:6898
0x760266 translate_all_program_units
        ../../gcc/fortran/parse.c:6464
0x760266 gfc_parse_file()
        ../../gcc/fortran/parse.c:6733
0x7ac58f gfc_be_parse_file
        ../../gcc/fortran/f95-lang.c:216

Reply via email to