Update master to aliroot
[u/mrichter/AliRoot.git] / ALIROOT / fpu.c
index 945fbdc2cb0e1989674b3140156099211d17badf..4fda4d6fec87b64b91a4819a2f3db1a08d356f8c 100644 (file)
@@ -1,14 +1,11 @@
 #ifdef __linux
 #ifdef __linux
-#if defined (__ia64) || defined (__x86_64)
-#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
 #else
 void trapfpe () {}
 #endif