Merge from mainline (167278:168000).
[official-gcc/graphite-test-results.git] / gcc / testsuite / gfortran.dg / module_nan.f90
blobed841a891ab6b96c94d361ea63a631e448469f32
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,*) 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" } }