+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
--- /dev/null
+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
--- /dev/null
+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