OSDN Git Service

2011-09-26 Janus Weil <janus@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / dependency_40.f90
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
7
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
12
13    v0 = [1.0, 3.0, 9.0, 27.0, 81.0, 243.0]
14    v1 = v0
15
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
21
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
28
29 end program ala