summaryrefslogtreecommitdiffstats
path: root/Python/pyfpe.c
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1997-02-14 22:58:07 (GMT)
committerGuido van Rossum <guido@python.org>1997-02-14 22:58:07 (GMT)
commit0ae748d3c409fc4b870baadd601a53c6a43ddf11 (patch)
treef2f51f02dae2969fdf958a28e9412da3092eddd3 /Python/pyfpe.c
parent09e6ad0c1e1c7b3c6132ab2d5dd85c5cc376721d (diff)
downloadcpython-0ae748d3c409fc4b870baadd601a53c6a43ddf11.zip
cpython-0ae748d3c409fc4b870baadd601a53c6a43ddf11.tar.gz
cpython-0ae748d3c409fc4b870baadd601a53c6a43ddf11.tar.bz2
Changes for Lee Busby's SIGFPE patch set.
New file pyfpe.c and exception FloatingPointError. Surround some f.p. operations with PyFPE macro brackets.
Diffstat (limited to 'Python/pyfpe.c')
-rw-r--r--Python/pyfpe.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/Python/pyfpe.c b/Python/pyfpe.c
new file mode 100644
index 0000000..0b38997
--- /dev/null
+++ b/Python/pyfpe.c
@@ -0,0 +1,16 @@
+#include "config.h"
+#include "pyfpe.h"
+
+/*
+ * The signal handler for SIGFPE is actually declared in an external
+ * module fpectl, or as preferred by the user. These variable
+ * definitions are required in order to compile Python without
+ * getting missing externals, but to actually handle SIGFPE requires
+ * defining a handler and enabling generation of SIGFPE.
+ */
+
+#ifdef WANT_SIGFPE_HANDLER
+jmp_buf PyFPE_jbuf;
+int PyFPE_counter = 0;
+double PyFPE_dummy(void){return(1.0);}
+#endif