2011-05-23 Tom de Vries <tom@codesourcery.com>
[official-gcc.git] / gcc / testsuite / gfortran.dg / module_nan.f90
blob202781f07c2f504f1ce08eaffab1a3360131e62a
1 ! { dg-do run }
2 ! { dg-options "-fno-range-check" }
3 ! { dg-add-options ieee }
4 ! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
6 ! PR fortran/34318
8 ! Infinity and NaN were not properly written to the .mod file.
10 module nonordinal
11 implicit none
12 real, parameter :: inf = 1./0., nan = 0./0., minf = -1./0.0
13 end module nonordinal
15 program a
16 use nonordinal
17 implicit none
18 character(len=20) :: str
19 if (log(abs(inf)) < huge(inf)) call abort()
20 if (log(abs(minf)) < huge(inf)) call abort()
21 if (.not. isnan(nan)) call abort()
22 write(str,"(sp,f10.2)") inf
23 if (adjustl(str) /= "+Infinity") call abort()
24 write(str,*) minf
25 if (adjustl(str) /= "-Infinity") call abort()
26 write(str,*) nan
27 if (adjustl(str) /= "NaN") call abort()
28 end program a
30 ! { dg-final { cleanup-modules "nonordinal" } }