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.