This seems to have been a false alarm (Bug#26018).
* src/data.c (isnan):
* src/floatfns.c (isfinite, isnan):
Use standard implementation if available.
#include <config.h>
+
+#include <math.h>
#include <stdio.h>
#include <byteswap.h>
return val;
}
-#undef isnan
-#define isnan(x) ((x) != (x))
+#ifndef isnan
+# define isnan(x) ((x) != (x))
+#endif
static Lisp_Object
float_arith_driver (double accum, ptrdiff_t argnum, enum arithop code,
#include <count-leading-zeros.h>
-/* 'isfinite' and 'isnan' cause build failures on Solaris 10 with the
- bundled GCC in c99 mode. Work around the bugs with simple
- implementations that are good enough. */
-#undef isfinite
-#define isfinite(x) ((x) - (x) == 0)
-#undef isnan
-#define isnan(x) ((x) != (x))
+#ifndef isfinite
+# define isfinite(x) ((x) - (x) == 0)
+#endif
+#ifndef isnan
+# define isnan(x) ((x) != (x))
+#endif
/* Check that X is a floating point number. */