mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-05 13:51:57 +08:00
f77-edit-i-in.f: Copy from g77.dg and change X to 1X in format.
2004-07-09 David Billinghurst (David.Billinghurst@riotinto.com) * gfortran.dg/g77/f77-edit-i-in.f: Copy from g77.dg and change X to 1X in format. * gfortran.dg/g77/20010216-1.f: Copy from g77.dg and add data statements to conform to standard. From-SVN: r84328
This commit is contained in:
parent
8d05a22ef2
commit
c6db08cd56
@ -1,3 +1,10 @@
|
||||
2004-07-09 David Billinghurst (David.Billinghurst@riotinto.com)
|
||||
|
||||
* gfortran.dg/g77/f77-edit-i-in.f: Copy from g77.dg and
|
||||
change X to 1X in format.
|
||||
* gfortran.dg/g77/20010216-1.f: Copy from g77.dg and
|
||||
add data statements to conform to standard.
|
||||
|
||||
2004-07-09 David Billinghurst (David.Billinghurst@riotinto.com)
|
||||
|
||||
* gfortran.dg/g77/f77-edit-s-out.f: Copy from g77.dg. XFAIL
|
||||
|
52
gcc/testsuite/gfortran.dg/g77/20010216-1.f
Normal file
52
gcc/testsuite/gfortran.dg/g77/20010216-1.f
Normal file
@ -0,0 +1,52 @@
|
||||
C Test for bug in reg-stack handling conditional moves.
|
||||
C Reported by Tim Prince <tprince@computer.org>
|
||||
C
|
||||
C { dg-do run { target "i[6789]86-*-*" } }
|
||||
C { dg-options "-ffast-math -march=pentiumpro" }
|
||||
|
||||
double precision function foo(x, y)
|
||||
implicit none
|
||||
double precision x, y
|
||||
double precision a, b, c, d
|
||||
if (x /= y) then
|
||||
if (x * y >= 0) then
|
||||
a = abs(x)
|
||||
b = abs(y)
|
||||
c = max(a, b)
|
||||
d = min(a, b)
|
||||
foo = 1 - d/c
|
||||
else
|
||||
foo = 1
|
||||
end if
|
||||
else
|
||||
foo = 0
|
||||
end if
|
||||
end
|
||||
|
||||
program test
|
||||
implicit none
|
||||
|
||||
integer ntests
|
||||
parameter (ntests=7)
|
||||
double precision tolerance
|
||||
parameter (tolerance=1.0D-6)
|
||||
|
||||
C Each column is a pair of values to feed to foo,
|
||||
C and its expected return value.
|
||||
double precision a(ntests), b(ntests), x(ntests)
|
||||
data a /1, -23, -1, 1, 9, 10, -9/
|
||||
data b /1, -23, 12, -12, 10, 9, -10/
|
||||
data x /0, 0, 1, 1, 0.1, 0.1, 0.1/
|
||||
|
||||
double precision foo
|
||||
double precision result
|
||||
integer i
|
||||
|
||||
do i = 1, ntests
|
||||
result = foo(a(i), b(i))
|
||||
if (abs(result - x(i)) > tolerance) then
|
||||
print *, i, a(i), b(i), x(i), result
|
||||
call abort
|
||||
end if
|
||||
end do
|
||||
end
|
22
gcc/testsuite/gfortran.dg/g77/f77-edit-i-in.f
Normal file
22
gcc/testsuite/gfortran.dg/g77/f77-edit-i-in.f
Normal file
@ -0,0 +1,22 @@
|
||||
C Test Fortran 77 I edit descriptor for input
|
||||
C (ANSI X3.9-1978 Section 13.5.9.1)
|
||||
C
|
||||
C Origin: David Billinghurst <David.Billinghurst@riotinto.com>
|
||||
C
|
||||
C { dg-do run }
|
||||
|
||||
integer i,j
|
||||
character*10 buf
|
||||
|
||||
write(buf,'(A)') '1 -1'
|
||||
|
||||
read(buf,'(I1)') i
|
||||
if ( i.ne.1 ) call abort()
|
||||
|
||||
read(buf,'(1X,I1)') i
|
||||
if ( i.ne.0 ) call abort()
|
||||
|
||||
read(buf,'(1X,I1,1X,I2)') i,j
|
||||
if ( i.ne.0 .and. j.ne.-1 ) call abort()
|
||||
|
||||
end
|
Loading…
Reference in New Issue
Block a user