Merge to HEAD at tree-cleanup-merge-20041024 .
[official-gcc.git] / gcc / testsuite / g77.f-torture / execute / 980701-0.f
bloba3ddd55473a7564c2cb767f1f07d971ec406f9e6
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.
5 call subr
6 end
8 subroutine subr
9 implicit none
11 real r1(5), r2(5), r3(5)
12 real s1(2), s2(2), s3(2)
13 double precision d1, d2, d3
14 integer i1, i2, i3
15 equivalence (r1, s1(2))
16 equivalence (d1, r1(2))
17 equivalence (r2, s2(2))
18 equivalence (d2, r2(2))
19 equivalence (r3, s3(2))
20 equivalence (d3, r3(2))
22 s1(1) = 1.
23 r1(1) = 1.
24 d1 = 10.
25 r1(4) = 1.
26 r1(5) = 1.
27 i1 = 1
28 s2(1) = 2.
29 r2(1) = 2.
30 d2 = 20.
31 r2(4) = 2.
32 r2(5) = 2.
33 i2 = 2
34 s3(1) = 3.
35 r3(1) = 3.
36 d3 = 30.
37 r3(4) = 3.
38 r3(5) = 3.
39 i3 = 3
41 call x (s1, r1, d1, i1, s2, r2, d2, i2, s3, r3, d3, i3)
43 end
45 subroutine x (s1, r1, d1, i1, s2, r2, d2, i2, s3, r3, d3, i3)
46 implicit none
48 real r1(5), r2(5), r3(5)
49 real s1(2), s2(2), s3(2)
50 double precision d1, d2, d3
51 integer i1, i2, i3
53 if (s1(1) .ne. 1.) call abort
54 if (r1(1) .ne. 1.) call abort
55 if (d1 .ne. 10.) call abort
56 if (r1(4) .ne. 1.) call abort
57 if (r1(5) .ne. 1.) call abort
58 if (i1 .ne. 1) call abort
59 if (s2(1) .ne. 2.) call abort
60 if (r2(1) .ne. 2.) call abort
61 if (d2 .ne. 20.) call abort
62 if (r2(4) .ne. 2.) call abort
63 if (r2(5) .ne. 2.) call abort
64 if (i2 .ne. 2) call abort
65 if (s3(1) .ne. 3.) call abort
66 if (r3(1) .ne. 3.) call abort
67 if (d3 .ne. 30.) call abort
68 if (r3(4) .ne. 3.) call abort
69 if (r3(5) .ne. 3.) call abort
70 if (i3 .ne. 3) call abort
72 end