------- Comment #5 from dominiq at lps dot ens dot fr 2007-09-03 11:01 ------- I confirm that
program initbug integer,parameter :: n0 = 3, n = 5 real(kind=8),parameter :: x0(n0) = (/ 2.0d0, 2.0d0, 2.0d0 /) real(kind=8),parameter :: x(n) = (/ -x0, x0(n0-1:1:-1) + 0.0d0 /) + 1.0d0 print *, x if (any(x /= (/ -1.0d0, -1.0d0, -1.0d0, 3.0d0, 3.0d0 /))) call abort() end program initbug works as expected. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33288