summaryrefslogtreecommitdiffstats
path: root/contrib/tools/python/src/Modules/python.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/tools/python/src/Modules/python.c')
-rw-r--r--contrib/tools/python/src/Modules/python.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/contrib/tools/python/src/Modules/python.c b/contrib/tools/python/src/Modules/python.c
new file mode 100644
index 00000000000..d83642af8e5
--- /dev/null
+++ b/contrib/tools/python/src/Modules/python.c
@@ -0,0 +1,21 @@
+/* Minimal main program -- everything is loaded from the library */
+
+#include "Python.h"
+
+#ifdef __FreeBSD__
+#include <fenv.h>
+#endif
+
+int
+main(int argc, char **argv)
+{
+ /* 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
+ return Py_Main(argc, argv);
+}