28e59669c0
From-SVN: r20873
73 lines
1.7 KiB
Fortran
73 lines
1.7 KiB
Fortran
* g77 0.5.23 and previous had bugs involving too little space
|
|
* allocated for EQUIVALENCE and COMMON areas needing initial
|
|
* padding to meet alignment requirements of the system.
|
|
|
|
call subr
|
|
end
|
|
|
|
subroutine subr
|
|
implicit none
|
|
|
|
real r1(5), r2(5), r3(5)
|
|
real s1(2), s2(2), s3(2)
|
|
double precision d1, d2, d3
|
|
integer i1, i2, i3
|
|
equivalence (r1, s1(2))
|
|
equivalence (d1, r1(2))
|
|
equivalence (r2, s2(2))
|
|
equivalence (d2, r2(2))
|
|
equivalence (r3, s3(2))
|
|
equivalence (d3, r3(2))
|
|
|
|
s1(1) = 1.
|
|
r1(1) = 1.
|
|
d1 = 10.
|
|
r1(4) = 1.
|
|
r1(5) = 1.
|
|
i1 = 1
|
|
s2(1) = 2.
|
|
r2(1) = 2.
|
|
d2 = 20.
|
|
r2(4) = 2.
|
|
r2(5) = 2.
|
|
i2 = 2
|
|
s3(1) = 3.
|
|
r3(1) = 3.
|
|
d3 = 30.
|
|
r3(4) = 3.
|
|
r3(5) = 3.
|
|
i3 = 3
|
|
|
|
call x (s1, r1, d1, i1, s2, r2, d2, i2, s3, r3, d3, i3)
|
|
|
|
end
|
|
|
|
subroutine x (s1, r1, d1, i1, s2, r2, d2, i2, s3, r3, d3, i3)
|
|
implicit none
|
|
|
|
real r1(5), r2(5), r3(5)
|
|
real s1(2), s2(2), s3(2)
|
|
double precision d1, d2, d3
|
|
integer i1, i2, i3
|
|
|
|
if (s1(1) .ne. 1.) call abort
|
|
if (r1(1) .ne. 1.) call abort
|
|
if (d1 .ne. 10.) call abort
|
|
if (r1(4) .ne. 1.) call abort
|
|
if (r1(5) .ne. 1.) call abort
|
|
if (i1 .ne. 1) call abort
|
|
if (s2(1) .ne. 2.) call abort
|
|
if (r2(1) .ne. 2.) call abort
|
|
if (d2 .ne. 20.) call abort
|
|
if (r2(4) .ne. 2.) call abort
|
|
if (r2(5) .ne. 2.) call abort
|
|
if (i2 .ne. 2) call abort
|
|
if (s3(1) .ne. 3.) call abort
|
|
if (r3(1) .ne. 3.) call abort
|
|
if (d3 .ne. 30.) call abort
|
|
if (r3(4) .ne. 3.) call abort
|
|
if (r3(5) .ne. 3.) call abort
|
|
if (i3 .ne. 3) call abort
|
|
|
|
end
|