+2011-09-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ * configure.in (isnan): Remove now-unnecessary check.
+
2011-09-06 Paul Eggert <eggert@cs.ucla.edu>
Merge from gnulib, using build-aux to remove clutter (Bug#9169).
sendto recvfrom getsockopt setsockopt getsockname getpeername \
gai_strerror mkstemp getline getdelim mremap fsync sync \
difftime mempcpy mblen mbrlen posix_memalign \
-cfmakeraw cfsetspeed isnan copysign __executable_start)
+cfmakeraw cfsetspeed copysign __executable_start)
dnl Cannot use AC_CHECK_FUNCS
AC_CACHE_CHECK([for __builtin_unwind_init],
+2011-09-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ isnan: Fix porting problem to Solaris 10 with bundled gcc.
+ Without this fix, the command to link temacs failed due to an
+ undefined symbol __builtin_isnan. This is because
+ /usr/include/iso/math_c99.h #defines isnan(x) to
+ __builtin_isnan(x), but the bundled gcc, which identifies itself
+ as gcc 3.4.3 (csl-sol210-3_4-branch+sol_rpath), does not have
+ a __builtin_isnan.
+ * floatfns.c (isnan): #undef, and then #define to a clone of
+ what's in data.c.
+ (Fisnan): Always define, since it's always available now.
+ (syms_of_floatfns): Always define isnan at the Lisp level.
+
2011-09-06 Paul Eggert <eggert@cs.ucla.edu>
* Makefile.in (gl-stamp): move-if-change now in build-aux (Bug#9169).
return make_float (d);
}
-#if defined HAVE_ISNAN && defined HAVE_COPYSIGN
+#undef isnan
+#define isnan(x) ((x) != (x))
+
DEFUN ("isnan", Fisnan, Sisnan, 1, 1, 0,
doc: /* Return non nil iff argument X is a NaN. */)
(Lisp_Object x)
return isnan (XFLOAT_DATA (x)) ? Qt : Qnil;
}
+#ifdef HAVE_COPYSIGN
DEFUN ("copysign", Fcopysign, Scopysign, 1, 2, 0,
doc: /* Copy sign of X2 to value of X1, and return the result.
Cause an error if X1 or X2 is not a float. */)
defsubr (&Scos);
defsubr (&Ssin);
defsubr (&Stan);
-#if defined HAVE_ISNAN && defined HAVE_COPYSIGN
defsubr (&Sisnan);
+#ifdef HAVE_COPYSIGN
defsubr (&Scopysign);
defsubr (&Sfrexp);
defsubr (&Sldexp);