+2007-02-25 Ben Pfaff <blp@gnu.org>
+
+ Thanks to Jason Stover for verifying that this patch helps under
+ NetBSD.
+
+ * acinclude.m4: Rename PSPP_ENABLE_WARNING to PSPP_ENABLE_OPTION,
+ because it's useful for more than warnings.
+
+ * configure.ac: Add PSPP_ENABLE_OPTION(-mieee) to improve IEEE
+ floating-point conformance on Alpha and SH architectures. Also,
+ check for fpsetmask function (available on BSDs).
+
Mon Feb 19 10:52:21 2007 Ben Pfaff <blp@gnu.org>
* Smake (GNULIB_MODULES): Add dirname module, remove canonicalize
`--disable-largefile' or `CFLAGS=-ansi'.])])
])
-dnl Check whether a warning flag is accepted.
+dnl Check whether a C compiler option is accepted.
dnl If so, add it to CFLAGS.
-dnl Example: PSPP_ENABLE_WARNING(-Wdeclaration-after-statement)
-AC_DEFUN([PSPP_ENABLE_WARNING],
+dnl Example: PSPP_ENABLE_OPTION(-Wdeclaration-after-statement)
+AC_DEFUN([PSPP_ENABLE_OPTION],
[
m4_define([pspp_cv_name], [pspp_cv_[]m4_translit([$1], [-], [_])])dnl
AC_CACHE_CHECK([whether $CC accepts $1], [pspp_cv_name],
AC_LIBTOOL_DLOPEN
AC_PROG_LIBTOOL
-PSPP_ENABLE_WARNING(-Wdeclaration-after-statement)
+PSPP_ENABLE_OPTION(-Wdeclaration-after-statement)
+PSPP_ENABLE_OPTION(-mieee)
AM_CONDITIONAL(cc_is_gcc, test x"$GCC" = x"yes" )
AC_C_BIGENDIAN
AC_FUNC_VPRINTF
-AC_CHECK_FUNCS([__setfpucw execl fork isinf isnan finite getpid feholdexcept popen round trunc])
+AC_CHECK_FUNCS([__setfpucw execl fork isinf isnan finite getpid feholdexcept fpsetmask popen round trunc])
AC_PROG_LN_S
+2007-02-25 Ben Pfaff <blp@gnu.org>
+
+ Thanks to Jason Stover for verifying that this patch helps under
+ NetBSD.
+
+ * main.c [HAVE_IEEE_FP]: Include <ieeefp.h>.
+ (fpu_init) [HAVE_IEEE_FP]: Use setfpmask to mask floating-point
+ exceptions.
+
Sun Feb 18 13:28:26 2007 Ben Pfaff <blp@gnu.org>
* msg-ui.c: Don't include exit.h, because gnulib fixes up stdlib.h
#include <fenv.h>
#endif
+#if HAVE_IEEEFP_H
+#include <ieeefp.h>
+#endif
+
#include "gettext.h"
#define _(msgid) gettext (msgid)
feholdexcept (&foo);
#elif HAVE___SETFPUCW && defined(_FPU_IEEE)
__setfpucw (_FPU_IEEE);
+#elif HAVE_FPSETMASK
+ fpsetmask (0);
#endif
}