2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / g77.f-torture / execute / 980628-0.f
blobc36b1efc0527119093e0e8edac75b2ad802753fc
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 double precision d1, d2, d3
13 integer i1, i2, i3
14 equivalence (r1(2), d1)
15 equivalence (r2(2), d2)
16 equivalence (r3(2), d3)
18 r1(1) = 1.
19 d1 = 10.
20 r1(4) = 1.
21 r1(5) = 1.
22 i1 = 1
23 r2(1) = 2.
24 d2 = 20.
25 r2(4) = 2.
26 r2(5) = 2.
27 i2 = 2
28 r3(1) = 3.
29 d3 = 30.
30 r3(4) = 3.
31 r3(5) = 3.
32 i3 = 3
34 call x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
36 end
38 subroutine x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
39 implicit none
41 real r1(5), r2(5), r3(5)
42 double precision d1, d2, d3
43 integer i1, i2, i3
45 if (r1(1) .ne. 1.) call abort
46 if (d1 .ne. 10.) call abort
47 if (r1(4) .ne. 1.) call abort
48 if (r1(5) .ne. 1.) call abort
49 if (i1 .ne. 1) call abort
50 if (r2(1) .ne. 2.) call abort
51 if (d2 .ne. 20.) call abort
52 if (r2(4) .ne. 2.) call abort
53 if (r2(5) .ne. 2.) call abort
54 if (i2 .ne. 2) call abort
55 if (r3(1) .ne. 3.) call abort
56 if (d3 .ne. 30.) call abort
57 if (r3(4) .ne. 3.) call abort
58 if (r3(5) .ne. 3.) call abort
59 if (i3 .ne. 3) call abort
61 end