Rebase.
[official-gcc.git] / gcc / testsuite / gfortran.dg / dependency_44.f90
blobebfeec64c8d199ae24c75a1b2ba35cc235113a30
1 ! { dg-do run }
2 ! Tests fix for PR61780 in which the loop reversal mechanism was
3 ! not accounting for the first index being an element so that no
4 ! loop in this dimension is created.
6 ! Contributed by Manfred Tietze on clf.
8 program prgm3
9 implicit none
10 integer, parameter :: n = 10, k = 3
11 integer :: i, j
12 integer, dimension(n,n) :: y
13 integer :: res1(n), res2(n)
15 1 format(10i5)
17 !initialize
18 do i=1,n
19 do j=1,n
20 y(i,j) = n*i + j
21 end do
22 end do
23 res2 = y(k,:)
25 !shift right
26 y(k,4:n) = y(k,3:n-1)
27 y(k,3) = 0
28 res1 = y(k,:)
29 y(k,:) = res2
30 y(k,n:4:-1) = y(k,n-1:3:-1)
31 y(k,3) = 0
32 res2 = y(k,:)
33 ! print *, res1
34 ! print *, res2
35 if (any(res1 /= res2)) call abort ()
36 end program prgm3