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.

Reply via email to