+static bool fpeAbort = false;
+static void handleFPE(int);
+static void initFPE();
+
+#if defined(HAVE_FEENABLEEXCEPT)
+static void
+initFPE ()
+{
+ if (fpeAbort) {
+ int except = fegetexcept();
+ feenableexcept(except | FE_DIVBYZERO | FE_INVALID);
+ } else {
+ signal(SIGFPE, handleFPE);
+ }
+}