OSDN Git Service

2004-07-17 Jeroen Frijters <jeroen@frijters.net>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g77.f-torture / execute / 980628-8.f
1 * g77 0.5.23 and previous had bugs involving too little space
2 * allocated for EQUIVALENCE and COMMON areas needing initial
3 * padding to meet alignment requirements of the system.
4
5       call subr
6       end
7
8       subroutine subr
9       implicit none
10       save
11
12       real r1(5), r2(5), r3(5)
13       double precision d1, d2, d3
14       integer i1, i2, i3
15       equivalence (d1, r1(2))
16       equivalence (d2, r2(2))
17       equivalence (d3, r3(2))
18
19       r1(1) = 1.
20       d1 = 10.
21       r1(4) = 1.
22       r1(5) = 1.
23       i1 = 1
24       r2(1) = 2.
25       d2 = 20.
26       r2(4) = 2.
27       r2(5) = 2.
28       i2 = 2
29       r3(1) = 3.
30       d3 = 30.
31       r3(4) = 3.
32       r3(5) = 3.
33       i3 = 3
34
35       call x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
36
37       end
38
39       subroutine x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
40       implicit none
41
42       real r1(5), r2(5), r3(5)
43       double precision d1, d2, d3
44       integer i1, i2, i3
45
46       if (r1(1) .ne. 1.) call abort
47       if (d1 .ne. 10.) call abort
48       if (r1(4) .ne. 1.) call abort
49       if (r1(5) .ne. 1.) call abort
50       if (i1 .ne. 1) call abort
51       if (r2(1) .ne. 2.) call abort
52       if (d2 .ne. 20.) call abort
53       if (r2(4) .ne. 2.) call abort
54       if (r2(5) .ne. 2.) call abort
55       if (i2 .ne. 2) call abort
56       if (r3(1) .ne. 3.) call abort
57       if (d3 .ne. 30.) call abort
58       if (r3(4) .ne. 3.) call abort
59       if (r3(5) .ne. 3.) call abort
60       if (i3 .ne. 3) call abort
61
62       end
63