1! { dg-do run } 2! { dg-options "-fno-range-check" } 3! { dg-add-options ieee } 4! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } } 5! 6! PR fortran/34318 7! 8! Infinity and NaN were not properly written to the .mod file. 9! 10module nonordinal 11 implicit none 12 real, parameter :: inf = 1./0., nan = 0./0., minf = -1./0.0 13end module nonordinal 14 15program 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() 28end program a 29