https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80260
Bug ID: 80260 Summary: [7 Regression] ICE with polymorphic array section actual argument Product: gcc Version: 7.0.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: damian at sourceryinstitute dot org Target Milestone: --- The code below causes an internal compiler error with gfortran 7.0.1, but compiles and executes cleanly with gfortran 6.3.0 $ cat foobar.f90 type foo end type foo type, extends(foo) :: bar end type contains subroutine f(x) class(foo) x(:,:) select type(x) class is (bar) call g(x(1,:)) end select end subroutine subroutine g(y) class(bar) y(:) end subroutine end $ gfortran --version GNU Fortran (GCC) 7.0.1 20170326 (experimental) -- snip -- $ gfortran foobar.f90 foobar.f90:10:0: call g(x(1,:)) internal compiler error: Segmentation fault 0xbe60ff crash_signal /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/toplev.c:337 0x6c70d9 gfc_conv_scalarized_array_ref /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-array.c:3229 0x6c8344 gfc_conv_array_ref(gfc_se*, gfc_array_ref*, gfc_expr*, locus*) /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-array.c:3397 0x701ffd gfc_conv_variable /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-expr.c:2680 0x6fdcda gfc_conv_expr(gfc_se*, gfc_expr*) /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-expr.c:7805 0x6d7796 gfc_conv_expr_descriptor(gfc_se*, gfc_expr*) /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-array.c:7184 0x6fa627 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/trunk/gcc/fortran/trans-expr.c:5319 0x7443ba gfc_trans_call(gfc_code*, bool, tree_node*, tree_node*, bool) /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-stmt.c:406 0x6bc658 trans_code /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans.c:1891 0x748b88 gfc_trans_block_construct(gfc_code*) /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-stmt.c:1821 0x6bc407 trans_code /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans.c:1919 0x7403f3 gfc_trans_if_1 /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-stmt.c:1321 0x74859a gfc_trans_if(gfc_code*) /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-stmt.c:1352 0x6bc477 trans_code /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans.c:1911 0x74b282 gfc_trans_select_type_cases /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-stmt.c:2419 0x74b282 gfc_trans_select_type(gfc_code*) /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-stmt.c:3130 0x6bc377 trans_code /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans.c:1939 0x748b88 gfc_trans_block_construct(gfc_code*) /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-stmt.c:1821 0x6bc407 trans_code /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans.c:1919 0x6ee028 gfc_generate_function_code(gfc_namespace*) /home/rouson/Desktop/Builds/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-decl.c:6332 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.