https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88710
Dominique d'Humieres <dominiq at lps dot ens.fr> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2019-01-05 CC| |burnus at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- The behavior has changed between revisions r265171 (2018-10-15) lbound/ubound(a): -1 -1 1 2 1 1 lbound/ubound(b): -1 -1 1 2 1 1 lbound/ubound(c): -1 -1 1 2 1 1 lbound/ubound(t): 0 0 0 3 2 0 and r265310 (2018-10-19) lbound/ubound(a): -1 -1 1 2 1 1 lbound/ubound(b): -1 -1 1 2 1 1 lbound/ubound(c): -1 -1 1 2 1 1 lbound/ubound(t): 1 1 1 4 3 1 likely r265212 (pr67125). Note that the block do k = lbound(a,3), ubound(a,3) do j = lbound(a,2), ubound(a,2) do i = lbound(a,1), ubound(a,1) write(*,'(1p,4(e23.16,1x))') & & a(i,j,k), b(i,j,k), c(i,j,k), t(i,j,k) end do end do end do accesses 't' outside its bounds in both cases.