! { dg-do run }
! Tests fix for PR61780 in which the loop reversal mechanism was
! not accounting for the first index being an element so that no
! loop in this dimension is created.
!
! Contributed by Manfred Tietze on clf.
!
program prgm3
    implicit none
    integer, parameter :: n = 10, k = 3
    integer :: i, j
    integer, dimension(n,n) :: y
    integer :: res1(n), res2(n)

1   format(10i5)

!initialize
    do i=1,n
        do j=1,n
            y(i,j) = n*i + j
        end do
    end do
    res2 = y(k,:)

!shift right
    y(k,4:n) = y(k,3:n-1)
    y(k,3) = 0
    res1 = y(k,:)
    y(k,:) = res2
    y(k,n:4:-1) = y(k,n-1:3:-1)
    y(k,3) = 0
    res2 = y(k,:)
!    print *, res1
!    print *, res2
    if (any(res1 /= res2)) STOP 1
end program prgm3
