summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/nearest_2.f9019
2 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d83f28f2059..c09ab0d08b0 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2007-11-24 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/34192
+ * gfortran.dg/nearest_2.f90: Add INF/NAN tests.
+
2007-11-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33541
diff --git a/gcc/testsuite/gfortran.dg/nearest_2.f90 b/gcc/testsuite/gfortran.dg/nearest_2.f90
index 4bdad31c8c8..16dfa4469c2 100644
--- a/gcc/testsuite/gfortran.dg/nearest_2.f90
+++ b/gcc/testsuite/gfortran.dg/nearest_2.f90
@@ -1,4 +1,5 @@
! { dg-do run }
+! { dg-options "-fno-range-check" }
!
! PR fortran/34192
!
@@ -76,6 +77,15 @@ program test
/= 42.0) &
call abort()
+ ! INF+ = INF
+ if (nearest(1.0/0.0, 1.0) /= 1.0/0.0) call abort()
+ ! -INF- = -INF
+ if (nearest(-1.0/0.0, -1.0) /= -1.0/0.0) call abort()
+ ! NAN- = NAN
+ if (.not.isnan(nearest(0.0d0/0.0, 1.0))) call abort()
+ ! NAN+ = NAN
+ if (.not.isnan(nearest(0.0d0/0.0, -1.0))) call abort()
+
! Double precision
! 0+ > 0
@@ -144,4 +154,13 @@ program test
if (nearest(nearest(42.0d0, 1.0), -1.0) &
/= 42.0d0) &
call abort()
+
+ ! INF+ = INF
+ if (nearest(1.0d0/0.0d0, 1.0) /= 1.0d0/0.0d0) call abort()
+ ! -INF- = -INF
+ if (nearest(-1.0d0/0.0d0, -1.0) /= -1.0d0/0.0d0) call abort()
+ ! NAN- = NAN
+ if (.not.isnan(nearest(0.0d0/0.0, 1.0))) call abort()
+ ! NAN+ = NAN
+ if (.not.isnan(nearest(0.0d0/0.0, -1.0))) call abort()
end program test