https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69514
Bug ID: 69514 Summary: ICE with nested array constructor Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: mrestelli at gmail dot com Target Milestone: --- The attached code produces an internal compiler error. Notice that the problem disappears removing the multiplication 3.0_wp* . program p implicit none integer, parameter :: wp = selected_real_kind(12,307) real(wp), parameter :: w(2) = & (/ real(wp) :: 0 , 3.0_wp*(/ real(wp) :: 2 /) /) !real(wp), parameter :: w(2) = & ! this is fine ! (/ real(wp) :: 0 , (/ real(wp) :: 2 /) /) write(*,*) w end program p $ gfortran test.f90 -o test f951: internal compiler error: Speicherzugriffsfehler 0xa683cf crash_signal gcc/toplev.c:335 0x5c114c gfc_arith_times gcc/fortran/arith.c:696 0x5bf798 reduce_binary_ca gcc/fortran/arith.c:1329 0x5bf9a4 reduce_binary gcc/fortran/arith.c:1414 0x5c029b eval_intrinsic gcc/fortran/arith.c:1592 0x5c04ce eval_intrinsic_f3 gcc/fortran/arith.c:1725 0x61d334 match_add_operand gcc/fortran/matchexp.c:392 0x61d51c match_level_2 gcc/fortran/matchexp.c:480 0x61d672 match_level_3 gcc/fortran/matchexp.c:551 0x61d784 match_level_4 gcc/fortran/matchexp.c:599 0x61d784 match_and_operand gcc/fortran/matchexp.c:693 0x61d942 match_or_operand gcc/fortran/matchexp.c:722 0x61da32 match_equiv_operand gcc/fortran/matchexp.c:765 0x61db22 match_level_5 gcc/fortran/matchexp.c:811 0x61ce91 gfc_match_expr(gfc_expr**) gcc/fortran/matchexp.c:870 0x5c3a1a match_array_cons_element gcc/fortran/array.c:1051 0x5c4cc9 gfc_match_array_constructor(gfc_expr**) gcc/fortran/array.c:1146 0x61d029 match_primary gcc/fortran/matchexp.c:153 0x61d029 match_level_1 gcc/fortran/matchexp.c:211 0x61d029 match_mult_operand gcc/fortran/matchexp.c:267 $ gfortran --version GNU Fortran (GCC) 6.0.0 20160127 (experimental)