https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51260
--- Comment #2 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- Still the same thing with current trunk. Interestingly, integer, parameter:: is(10000)=(/(i,i=1,10000)/) integer, parameter :: x = is(1) print *,x end is simplified correctly. Maybe a missing call to gfc_simplify_expr somewhere...