M4_FLAGS="${M4_FLAGS} -P __linux__,1"
DO_GCC_TESTS=yes
GNU_LD=yes
- # In Ubuntu 11.04 on i386 eglibc-2.13's fesetenv(FE_DFL_ENV) does
- # not mask all FPEs. Its feclear/disableexcept() functions are
- # not effective either. A callout to pango_layout_get_pixel_
- # extents can use these and still SIGFPE Underflow. However the
- # emulation in cmpintmd/x86-fenv.c IS effective. Defining
- # BORKED_FENV causes libc's fenv.h to be ignored and x86-fenv.c to
- # be included. Not all linux-gnu/i386 hosts need this, but the
- # emulation should work on all of them.
- if test "x${mit_scheme_native_code}" = "xi386"; then
- BORKED_FENV=yes
- fi
;;
freebsd*)
M4_FLAGS="${M4_FLAGS} -P SUPPRESS_LEADING_UNDERSCORE,1"
#endif /* _MACH_UNIX */
}
-#if !defined(HAVE_FENV_H) || defined(BORKED_FENV)
+#ifndef HAVE_FENV_H
extern int i387_presence;
extern int sse_presence;
# define x87_p i387_presence
extern int ia32_cpuid_needed;
-#if !defined(HAVE_FENV_H) || defined(BORKED_FENV)
+#ifndef HAVE_FENV_H
# define CMPINTMD_EMULATES_FENV
# include "cmpintmd/x86-fenv.h"
#endif
/* C99 <fenv.h> emulation for x86 (shared between i386 and amd64) */
-#ifdef BORKED_FENV
-# undef HAVE_FEGETROUND
-# undef HAVE_FESETROUND
-# undef HAVE_FECLEAREXCEPT
-# undef HAVE_FEGETEXCEPTFLAG
-# undef HAVE_FERAISEEXCEPT
-# undef HAVE_FESETEXCEPTFLAG
-# undef HAVE_FETESTEXCEPT
-# undef HAVE_FEDISABLEEXCEPT
-# undef HAVE_FEENABLEEXCEPT
-# undef HAVE_FEGETEXCEPT
-# undef HAVE_FEGETENV
-# undef HAVE_FESETENV
-# undef HAVE_FEHOLDEXCEPT
-# undef HAVE_FEUPDATEENV
-#endif
-
#define HAVE_FENV_T
#define HAVE_FEXCEPT_T
])
if test "x$ac_cv_header_fenv_h" = "xyes"; then
- if test "x$BORKED_FENV" = "xyes"; then
- AC_DEFINE([BORKED_FENV], [1],
- [Define to 1 if your fenv implementation is broken.])
- else
- AC_CHECK_TYPES([fenv_t], [], [], [SCM_INC_FENV])
- AC_CHECK_TYPES([fexcept_t], [], [], [SCM_INC_FENV])
- fi
+ AC_CHECK_TYPES([fenv_t], [], [], [SCM_INC_FENV])
+ AC_CHECK_TYPES([fexcept_t], [], [], [SCM_INC_FENV])
fi
AC_CHECK_SIZEOF([time_t])
#include "cmpintmd.h"
-#if (defined (HAVE_FENV_H) && !defined (BORKED_FENV))
+#if (defined (HAVE_FENV_H))
# include <fenv.h>
# ifdef HAVE_FENV_T
# define scheme_fenv_t fenv_t