From: Matt Birkholz Date: Sun, 19 Jun 2011 18:18:26 +0000 (-0700) Subject: Unimplement BORKED_FENV. X-Git-Tag: mit-scheme-pucked-9.2.12~705 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=99cbc7efb913bad2e3398ac278b955a4f0db0178;p=mit-scheme.git Unimplement BORKED_FENV. --- diff --git a/src/microcode/achost.ac b/src/microcode/achost.ac index 1bdc2a1f3..e4fc6b517 100644 --- a/src/microcode/achost.ac +++ b/src/microcode/achost.ac @@ -115,17 +115,6 @@ linux-gnu) 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" diff --git a/src/microcode/cmpintmd/i386.c b/src/microcode/cmpintmd/i386.c index 152e93e63..0d66de11b 100644 --- a/src/microcode/cmpintmd/i386.c +++ b/src/microcode/cmpintmd/i386.c @@ -391,7 +391,7 @@ i386_reset_hook (void) #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 diff --git a/src/microcode/cmpintmd/i386.h b/src/microcode/cmpintmd/i386.h index db76f50ab..f07d5c240 100644 --- a/src/microcode/cmpintmd/i386.h +++ b/src/microcode/cmpintmd/i386.h @@ -335,7 +335,7 @@ extern void i386_reset_hook (void); 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 diff --git a/src/microcode/cmpintmd/x86-fenv.h b/src/microcode/cmpintmd/x86-fenv.h index a65f40ee7..dc5ddcd2e 100644 --- a/src/microcode/cmpintmd/x86-fenv.h +++ b/src/microcode/cmpintmd/x86-fenv.h @@ -26,23 +26,6 @@ USA. /* C99 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 diff --git a/src/microcode/configure.ac b/src/microcode/configure.ac index 0a9b68845..642cf04a0 100644 --- a/src/microcode/configure.ac +++ b/src/microcode/configure.ac @@ -369,13 +369,8 @@ define([SCM_INC_FENV], ]) 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]) diff --git a/src/microcode/floenv.h b/src/microcode/floenv.h index 0ff82ae40..6ab58ac79 100644 --- a/src/microcode/floenv.h +++ b/src/microcode/floenv.h @@ -32,7 +32,7 @@ USA. #include "cmpintmd.h" -#if (defined (HAVE_FENV_H) && !defined (BORKED_FENV)) +#if (defined (HAVE_FENV_H)) # include # ifdef HAVE_FENV_T # define scheme_fenv_t fenv_t