Hash :
1b5bc6ed
Author :
Date :
2010-12-20T03:28:45
isnan: Ensure it is a macro. * lib/math.in.h (isnan): Define as a macro if not already a macro. * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1, Solaris.
@node isnan
@section @code{isnan}
@findex isnan
POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/isnan.html}
Gnulib module: isnan
Portability problems fixed by Gnulib:
@itemize
@item
@code{isnan} was introduced with C99 and is thus commonly not present
on pre-C99 systems.
@item
@code{isnan} is not a macro on some platforms:
IRIX 6.5, OSF/1 5.1 with gcc, Solaris 11 2010-11.
@item
On IRIX 6.5 with @code{cc}, @code{isnan} does not recognize some NaNs.
@item
On NetBSD/i386 and glibc/ia64, @code{isnan} does not recognize some
forms of NaNs, such as pseudo-NaNs, pseudo-Infinities, and
unnormalized numbers.
@item
On i686 and @var{x}86-64, @code{__builtin_isnanl} (and thus
@code{isnan} implementations based on it) in GCC 4.0 and later does
not recognize pseudo-denormals as NaNs, and similarly for
pseudo-zeroes, unnormalized numbers, and pseudo-denormals on ia64.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@end itemize