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

            Bug ID: 82077
           Summary: [7.1 Regression]: ICE on associating polymorphic array
                    dummy with a type-guarded array section
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: damian at sourceryinstitute dot org
  Target Milestone: ---

$ cat poly-array-section-arg.f90 
 !! Gfortran 7.1.0 and 8.0.0 20170731 report an ICE when a
 !! polymorphic 1D array dummy argument of a child type is
 !! associated with a type-guarded, 1D section of a 2D
 !! polymorphic array actual argument declared as the parent
 !! type. Gfortran 5.4.0 and 6.4.0 compile the code without
 !! reporting any errors.
    type parent
    end type parent
    type, extends(parent) :: child
    end type
    class(parent), allocatable :: foo(:,:)
    allocate(child::foo(1,1))
    select type(foo)
      class is (child)
        call gfortran7_ICE(foo(1,:))
    end select
contains
    subroutine gfortran7_ICE(bar)
      class(child) bar(:)
    end subroutine
end

$ gfortran --version
GNU Fortran (GCC) 8.0.0 20170731 (experimental)

$ gfortran poly-array-section-arg.f90 
poly-array-section-arg.f90:15:0:

         call gfortran7_ICE(foo(1,:))

internal compiler error: Segmentation fault
0xd933ef crash_signal
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/toplev.c:338
0x91d09d gfc_conv_scalarized_array_ref
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans-array.c:3228
0x91e284 gfc_conv_array_ref(gfc_se*, gfc_array_ref*, gfc_expr*, locus*)
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans-array.c:3382
0x94fa1d gfc_conv_variable
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans-expr.c:2680
0x94beea gfc_conv_expr(gfc_se*, gfc_expr*)
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans-expr.c:7816
0x92b7b6 gfc_conv_expr_descriptor(gfc_se*, gfc_expr*)
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans-array.c:7138
0x948348 gfc_conv_procedure_call(gfc_se*, gfc_symbol*, gfc_actual_arglist*,
gfc_expr*, vec<tree_node*, va_gc, vl_embed>*)
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans-expr.c:5319
0x987b7a gfc_trans_call(gfc_code*, bool, tree_node*, tree_node*, bool)
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans-stmt.c:406
0x9142e5 trans_code
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans.c:1885
0x98c188 gfc_trans_block_construct(gfc_code*)
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans-stmt.c:1934
0x914097 trans_code
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans.c:1913
0x984643 gfc_trans_if_1
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans-stmt.c:1434
0x98bc1a gfc_trans_if(gfc_code*)
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans-stmt.c:1465
0x914107 trans_code
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans.c:1905
0x98e53d gfc_trans_select_type_cases
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans-stmt.c:2532
0x98e53d gfc_trans_select_type(gfc_code*)
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans-stmt.c:3242
0x914007 trans_code
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans.c:1933
0x98c188 gfc_trans_block_construct(gfc_code*)
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans-stmt.c:1934
0x914097 trans_code
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans.c:1913
0x93dc68 gfc_generate_function_code(gfc_namespace*)
       
/home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/gcc-teams/gcc/fortran/trans-decl.c:6365
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to