summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/nearest_1.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/nearest_1.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/nearest_1.f9020
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/nearest_1.f90 b/gcc/testsuite/gfortran.dg/nearest_1.f90
new file mode 100644
index 000000000..ae9e75f1e
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/nearest_1.f90
@@ -0,0 +1,20 @@
+! { dg-do run }
+! { dg-options "-O0 -ffloat-store" }
+! { dg-add-options ieee }
+! { dg-skip-if "Denormals not supported" { spu-*-* } { "*" } { "" } }
+! PR fortran/27021
+! Original code submitted by Dominique d'Humieres
+! Converted to Dejagnu for the testsuite by Steven G. Kargl
+program chop
+ integer ix, iy
+ real o, t, td, tu, x, y
+ o = 1.
+ t = tiny(o)
+ td = nearest(t,-1.0)
+ x = td/2.0
+ y = nearest(tiny(o),-1.0)/2.0
+ ix = transfer(x,ix)
+ iy = transfer(y,iy)
+ if (ix /= iy) call abort
+end program chop
+