]> granicus.if.org Git - python/commitdiff
bpo-37474: Don't call fedisableexcept() on FreeBSD (GH-16515)
authorVictor Stinner <vstinner@python.org>
Tue, 1 Oct 2019 11:12:29 +0000 (13:12 +0200)
committerGitHub <noreply@github.com>
Tue, 1 Oct 2019 11:12:29 +0000 (13:12 +0200)
On FreeBSD, Python no longer calls fedisableexcept() at startup to
control the floating point control mode. The call became useless
since FreeBSD 6: it became the default mode.

Misc/NEWS.d/next/Core and Builtins/2019-10-01-12-46-30.bpo-37474.cB3se1.rst [new file with mode: 0644]
Modules/main.c

diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-10-01-12-46-30.bpo-37474.cB3se1.rst b/Misc/NEWS.d/next/Core and Builtins/2019-10-01-12-46-30.bpo-37474.cB3se1.rst
new file mode 100644 (file)
index 0000000..c259f81
--- /dev/null
@@ -0,0 +1,3 @@
+On FreeBSD, Python no longer calls ``fedisableexcept()`` at startup to
+control the floating point control mode. The call became useless since
+FreeBSD 6: it became the default mode.
index 526b0ade84a4bd8e1138ee6a2fe79b752eefd4ff..929417fe775f28cc2d0ad857d4643c07da71d6aa 100644 (file)
@@ -6,10 +6,6 @@
 #include "pycore_pymem.h"
 #include "pycore_pystate.h"
 
-#ifdef __FreeBSD__
-#  include <fenv.h>     /* fedisableexcept() */
-#endif
-
 /* Includes for exit_sigint() */
 #include <stdio.h>      /* perror() */
 #ifdef HAVE_SIGNAL_H
@@ -43,15 +39,6 @@ pymain_init(const _PyArgv *args)
         return status;
     }
 
-    /* 754 requires that FP exceptions run in "no stop" mode by default,
-     * and until C vendors implement C99's ways to control FP exceptions,
-     * Python requires non-stop mode.  Alas, some platforms enable FP
-     * exceptions by default.  Here we disable them.
-     */
-#ifdef __FreeBSD__
-    fedisableexcept(FE_OVERFLOW);
-#endif
-
     PyPreConfig preconfig;
     PyPreConfig_InitPythonConfig(&preconfig);