macro and flowevent maker to run part of the code in root
[u/mrichter/AliRoot.git] / ALIROOT / fpu.c
index d4da3cbd61bff15064e8cab38dce208ca994f8ee..4fda4d6fec87b64b91a4819a2f3db1a08d356f8c 100644 (file)
@@ -1,14 +1,11 @@
 #ifdef __linux
-#ifdef __ia64
-#else
-#include <fpu_control.h>
-void __attribute__ ((constructor))
-     trapfpe () {
-  fpu_control_t cw = _FPU_DEFAULT & ~(_FPU_MASK_IM | _FPU_MASK_ZM |
-                                     _FPU_MASK_OM);
-  _FPU_SETCW(cw);
+#define _GNU_SOURCE 1
+#include <fenv.h>
+static void __attribute__ ((constructor)) trapfpe(void)
+{
+  /* Enable some exceptions. At startup all exceptions are masked. */
+  feenableexcept(FE_INVALID|FE_DIVBYZERO|FE_OVERFLOW);
 }
-#endif
 #else
 void trapfpe () {}
 #endif