1171626Scognet! { dg-do run }
2171626Scognet! { dg-options "-fno-range-check" }
3171626Scognet! { dg-add-options ieee }
4171626Scognet! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
5171626Scognet!
6171626Scognet! PR fortran/34318
7171626Scognet!
8171626Scognet! Infinity and NaN were not properly written to the .mod file.
9171626Scognet!
10171626Scognetmodule nonordinal
11171626Scognet  implicit none
12171626Scognet  real, parameter :: inf = 1./0., nan = 0./0., minf = -1./0.0
13171626Scognetend module nonordinal
14171626Scognet
15171626Scognetprogram a
16171626Scognet  use nonordinal
17171626Scognet  implicit none
18171626Scognet  character(len=20) :: str
19171626Scognet  if (log(abs(inf))  < huge(inf)) call abort()
20171626Scognet  if (log(abs(minf)) < huge(inf)) call abort()
21171626Scognet  if (.not. isnan(nan)) call abort()
22171626Scognet  write(str,"(sp,f10.2)") inf
23171626Scognet  if (adjustl(str) /= "+Infinity") call abort()
24171626Scognet  write(str,*) minf
25171626Scognet  if (adjustl(str) /= "-Infinity") call abort()
26171626Scognet  write(str,*) nan
27171626Scognet  if (adjustl(str) /= "NaN") call abort()
28171626Scognetend program a
29171626Scognet