> … but I suspect gfc_reduce_init_expr() > may be useful for PARAMETER statements as well (need to > check this!).
As in the following test module m implicit none type t integer :: i end type t type(t), dimension(2), parameter :: a1 = (/ t(1), t(2) /) type(t), dimension(1), parameter :: c = spread ( a1(1), 1, 1 ) end module m ? Compiling it with the patch gives the ICE f951: internal compiler error: in gfc_conv_array_initializer, at fortran/trans-array.c:5704 Otherwise the test succeeds with the patch. Thanks for working on these PRs, Dominique