New test.
From-SVN: r20815
This commit is contained in:
parent
51db713ffd
commit
a8fdca91e7
57
gcc/testsuite/g77.f-torture/execute/980628-10.f
Normal file
57
gcc/testsuite/g77.f-torture/execute/980628-10.f
Normal file
@ -0,0 +1,57 @@
|
||||
* 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
|
||||
save
|
||||
|
||||
character c1(11), c2(11), c3(11)
|
||||
real r1, r2, r3
|
||||
character c4, c5, c6
|
||||
equivalence (r1, c1(2))
|
||||
equivalence (r2, c2(2))
|
||||
equivalence (r3, c3(2))
|
||||
|
||||
c1(1) = '1'
|
||||
r1 = 1.
|
||||
c1(11) = '1'
|
||||
c4 = '4'
|
||||
c2(1) = '2'
|
||||
r2 = 2.
|
||||
c2(11) = '2'
|
||||
c5 = '5'
|
||||
c3(1) = '3'
|
||||
r3 = 3.
|
||||
c3(11) = '3'
|
||||
c6 = '6'
|
||||
|
||||
call x (c1, r1, c2, r2, c3, r3, c4, c5, c6)
|
||||
|
||||
end
|
||||
|
||||
subroutine x (c1, r1, c2, r2, c3, r3, c4, c5, c6)
|
||||
implicit none
|
||||
|
||||
character c1(11), c2(11), c3(11)
|
||||
real r1, r2, r3
|
||||
character c4, c5, c6
|
||||
|
||||
if (c1(1) .ne. '1') call abort
|
||||
if (r1 .ne. 1.) call abort
|
||||
if (c1(11) .ne. '1') call abort
|
||||
if (c4 .ne. '4') call abort
|
||||
if (c2(1) .ne. '2') call abort
|
||||
if (r2 .ne. 2.) call abort
|
||||
if (c2(11) .ne. '2') call abort
|
||||
if (c5 .ne. '5') call abort
|
||||
if (c3(1) .ne. '3') call abort
|
||||
if (r3 .ne. 3.) call abort
|
||||
if (c3(11) .ne. '3') call abort
|
||||
if (c6 .ne. '6') call abort
|
||||
|
||||
end
|
||||
|
62
gcc/testsuite/g77.f-torture/execute/980628-7.f
Normal file
62
gcc/testsuite/g77.f-torture/execute/980628-7.f
Normal file
@ -0,0 +1,62 @@
|
||||
* 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)
|
||||
double precision d1, d2, d3
|
||||
integer i1, i2, i3
|
||||
equivalence (d1, r1(2))
|
||||
equivalence (d2, r2(2))
|
||||
equivalence (d3, r3(2))
|
||||
|
||||
r1(1) = 1.
|
||||
d1 = 10.
|
||||
r1(4) = 1.
|
||||
r1(5) = 1.
|
||||
i1 = 1
|
||||
r2(1) = 2.
|
||||
d2 = 20.
|
||||
r2(4) = 2.
|
||||
r2(5) = 2.
|
||||
i2 = 2
|
||||
r3(1) = 3.
|
||||
d3 = 30.
|
||||
r3(4) = 3.
|
||||
r3(5) = 3.
|
||||
i3 = 3
|
||||
|
||||
call x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
|
||||
|
||||
end
|
||||
|
||||
subroutine x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
|
||||
implicit none
|
||||
|
||||
real r1(5), r2(5), r3(5)
|
||||
double precision d1, d2, d3
|
||||
integer i1, i2, i3
|
||||
|
||||
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 (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 (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
|
||||
|
63
gcc/testsuite/g77.f-torture/execute/980628-8.f
Normal file
63
gcc/testsuite/g77.f-torture/execute/980628-8.f
Normal file
@ -0,0 +1,63 @@
|
||||
* 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
|
||||
save
|
||||
|
||||
real r1(5), r2(5), r3(5)
|
||||
double precision d1, d2, d3
|
||||
integer i1, i2, i3
|
||||
equivalence (d1, r1(2))
|
||||
equivalence (d2, r2(2))
|
||||
equivalence (d3, r3(2))
|
||||
|
||||
r1(1) = 1.
|
||||
d1 = 10.
|
||||
r1(4) = 1.
|
||||
r1(5) = 1.
|
||||
i1 = 1
|
||||
r2(1) = 2.
|
||||
d2 = 20.
|
||||
r2(4) = 2.
|
||||
r2(5) = 2.
|
||||
i2 = 2
|
||||
r3(1) = 3.
|
||||
d3 = 30.
|
||||
r3(4) = 3.
|
||||
r3(5) = 3.
|
||||
i3 = 3
|
||||
|
||||
call x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
|
||||
|
||||
end
|
||||
|
||||
subroutine x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
|
||||
implicit none
|
||||
|
||||
real r1(5), r2(5), r3(5)
|
||||
double precision d1, d2, d3
|
||||
integer i1, i2, i3
|
||||
|
||||
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 (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 (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
|
||||
|
56
gcc/testsuite/g77.f-torture/execute/980628-9.f
Normal file
56
gcc/testsuite/g77.f-torture/execute/980628-9.f
Normal file
@ -0,0 +1,56 @@
|
||||
* 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
|
||||
|
||||
character c1(11), c2(11), c3(11)
|
||||
real r1, r2, r3
|
||||
character c4, c5, c6
|
||||
equivalence (r1, c1(2))
|
||||
equivalence (r2, c2(2))
|
||||
equivalence (r3, c3(2))
|
||||
|
||||
c1(1) = '1'
|
||||
r1 = 1.
|
||||
c1(11) = '1'
|
||||
c4 = '4'
|
||||
c2(1) = '2'
|
||||
r2 = 2.
|
||||
c2(11) = '2'
|
||||
c5 = '5'
|
||||
c3(1) = '3'
|
||||
r3 = 3.
|
||||
c3(11) = '3'
|
||||
c6 = '6'
|
||||
|
||||
call x (c1, r1, c2, r2, c3, r3, c4, c5, c6)
|
||||
|
||||
end
|
||||
|
||||
subroutine x (c1, r1, c2, r2, c3, r3, c4, c5, c6)
|
||||
implicit none
|
||||
|
||||
character c1(11), c2(11), c3(11)
|
||||
real r1, r2, r3
|
||||
character c4, c5, c6
|
||||
|
||||
if (c1(1) .ne. '1') call abort
|
||||
if (r1 .ne. 1.) call abort
|
||||
if (c1(11) .ne. '1') call abort
|
||||
if (c4 .ne. '4') call abort
|
||||
if (c2(1) .ne. '2') call abort
|
||||
if (r2 .ne. 2.) call abort
|
||||
if (c2(11) .ne. '2') call abort
|
||||
if (c5 .ne. '5') call abort
|
||||
if (c3(1) .ne. '3') call abort
|
||||
if (r3 .ne. 3.) call abort
|
||||
if (c3(11) .ne. '3') call abort
|
||||
if (c6 .ne. '6') call abort
|
||||
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user