2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / g77.f-torture / execute / auto0.f
blob4b6b2f51a8e624548caf10d2f52c80ec6f8cfed9
1 * Test automatic arrays.
2 program auto0
3 implicit none
4 integer i
5 integer j0(40)
6 integer j1(40)
7 integer jc0(40)
8 integer jc1(40)
9 common /jc0/ jc0
10 common /jc1/ jc1
12 data j0/40*3/
13 data j1/40*4/
15 i = 40
16 call a1 (j0, j1, i)
18 do i = 1, 40
19 if (j0(i) .ne. 4) call abort
20 if (j1(i) .ne. 3) call abort
21 if (jc0(i) .ne. 6) call abort
22 if (jc1(i) .ne. 5) call abort
23 end do
25 end
27 block data jc
28 implicit none
29 integer jc0(40)
30 integer jc1(40)
31 common /jc0/ jc0
32 common /jc1/ jc1
34 data jc0/40*5/
35 data jc1/40*6/
37 end
39 subroutine a1 (j0, j1, n)
40 implicit none
41 integer j0(40), j1(40), n
42 integer k0(n), k1(n)
43 integer i
44 integer jc0(40)
45 integer jc1(40)
46 common /jc0/ jc0
47 common /jc1/ jc1
49 do i = 1, 40
50 j0(i) = j1(i) - j0(i)
51 jc0(i) = jc1(i) - jc0(i)
52 end do
54 n = -1
56 do i = 1, 40
57 k0(i) = n
58 k1(i) = n
59 end do
61 do i = 1, 40
62 j1(i) = j1(i) + k0(i) * j0(i)
63 jc1(i) = jc1(i) + k1(i) * jc0(i)
64 end do
66 n = 500
68 do i = 1, 40
69 if (k0(i) .ne. -1) call abort
70 k0(i) = n
71 if (k1(i) .ne. -1) call abort
72 k1(i) = n
73 end do
75 do i = 1, 40
76 j0(i) = j1(i) + j0(i)
77 jc0(i) = jc1(i) + jc0(i)
78 end do
80 end