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 3024bec71717659007fb3cc100df2b048c0ce187..308b4509deb4d348fcc23a65821e7aee81b3dec7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+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.
index 222d2f51d7e097bb11f173be8a85a9686babccab..2023995542dcb3a3b44d2828106ef41f834848df 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 4fbed08d674d247217c940e44149af0c023673ff..0f78264553aab20e92e1a689621838e41c81ca6d 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);