isnan: Ensure it is a macro.
authorBruno Haible <bruno@clisp.org>
Mon, 20 Dec 2010 02:28:45 +0000 (03:28 +0100)
committerBruno Haible <bruno@clisp.org>
Mon, 20 Dec 2010 02:28:45 +0000 (03:28 +0100)
* 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.

ChangeLog
doc/posix-functions/isnan.texi
lib/math.in.h

index 3024bec..308b450 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2010-12-19  Bruno Haible  <bruno@clisp.org>
 
+       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.
+
+2010-12-19  Bruno Haible  <bruno@clisp.org>
+
        ldexpl test: Fix link error on OSF/1 5.1.
        * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
 
index 222d2f5..2023995 100644 (file)
@@ -12,6 +12,9 @@ Portability problems fixed by Gnulib:
 @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
index 4fbed08..0f78264 100644 (file)
@@ -680,6 +680,10 @@ _GL_EXTERN_C int rpl_isnanl (long double x);
     sizeof (x) == sizeof (double) ? gl_isnan_d (x) : \
     gl_isnan_f (x))
 # endif
+/* Ensure isnan is a macro.  */
+# ifndef isnan
+#  define isnan isnan
+# endif
 #elif defined GNULIB_POSIXCHECK
 # if defined isnan
 _GL_WARN_REAL_FLOATING_DECL (isnan);