| ! { dg-do run } |
| ! { dg-options "-fno-range-check" } |
| ! { dg-add-options ieee } |
| ! |
| ! PR fortran/34318 |
| ! |
| ! Infinity and NaN were not properly written to the .mod file. |
| ! |
| module nonordinal |
| implicit none |
| real, parameter :: inf = 1./0., nan = 0./0., minf = -1./0.0 |
| end module nonordinal |
| |
| program a |
| use nonordinal |
| implicit none |
| character(len=20) :: str |
| if (log(abs(inf)) < huge(inf)) STOP 1 |
| if (log(abs(minf)) < huge(inf)) STOP 2 |
| if (.not. isnan(nan)) STOP 3 |
| write(str,"(sp,f10.2)") inf |
| if (adjustl(str) /= "+Infinity") STOP 4 |
| write(str,*) minf |
| if (adjustl(str) /= "-Infinity") STOP 5 |
| write(str,*) nan |
| if (adjustl(str) /= "NaN") STOP 6 |
| end program a |