changeset 13960:51218504eb9d

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.
author Bruno Haible <bruno@clisp.org>
date Mon, 20 Dec 2010 03:28:45 +0100
parents 363040041ced
children c1bf409392b8
files ChangeLog doc/posix-functions/isnan.texi lib/math.in.h
diffstat 3 files changed, 14 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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.
--- a/doc/posix-functions/isnan.texi
+++ b/doc/posix-functions/isnan.texi
@@ -12,6 +12,9 @@
 @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
--- a/lib/math.in.h
+++ b/lib/math.in.h
@@ -680,6 +680,10 @@
     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);