2014-07-12 Paul Thomas <pault@gcc.gnu.org>
[official-gcc.git] / gcc / testsuite / gfortran.dg / dependency_40.f90
blobb7bd4f91184bed08eb10f480417fc567683fc766
1 ! { dg-do run }
2 ! PR 48955 - missing array temporary when there was both a forward
3 ! and a backward dependency.
4 ! Test case slightly modified from the original one by Kacper Kowalik.
5 program ala
6 implicit none
8 integer, parameter :: n = 6
9 real, dimension(n), parameter :: result = [1.,10.,30.,90.,270., 243.];
10 real, dimension(n) :: v0, v1
11 character(len=80) :: line1, line2
13 v0 = [1.0, 3.0, 9.0, 27.0, 81.0, 243.0]
14 v1 = v0
16 v1(2:n-1) = v1(1:n-2) + v1(3:n)
17 if (any(v1 /= result)) call abort
18 v1 = v0
19 v1(2:n-1) = v0(1:n-2) + v0(3:n)
20 if (any(v1 /= result)) call abort
22 v1 = v0
23 v1(2:n-1) = v1(3:n) + v1(1:n-2)
24 if (any(v1 /= result)) call abort
25 v1 = v0
26 v1(2:n-1) = v0(3:n) + v0(1:n-2)
27 if (any(v1 /= result)) call abort
29 end program ala