diff src/sysdep.cc @ 2508:f8d5dbbbc50a

[project @ 1996-11-13 17:21:07 by jwe]
author jwe
date Wed, 13 Nov 1996 17:21:10 +0000
parents 8ed4362aa0d6
children 9b7cd3ff8891
line wrap: on
line diff
--- a/src/sysdep.cc	Wed Nov 13 06:06:16 1996 +0000
+++ b/src/sysdep.cc	Wed Nov 13 17:21:10 1996 +0000
@@ -63,6 +63,10 @@
 #include <floatingpoint.h>
 #endif
 
+#if defined (HAVE_IEEEFP_H)
+#include <ieeefp.h>
+#endif
+
 #if !defined (HAVE_GETHOSTNAME) && defined (HAVE_SYS_UTSNAME_H)
 #include <sys/utsname.h>
 #endif
@@ -94,7 +98,18 @@
 #define STDIN_FILENO 1
 #endif
 
-#ifdef NeXT
+#if defined (__386BSD__) || defined (__FreeBSD__)
+static void
+BSD_init (void)
+{
+#if defined (HAVE_FLOATINGPOINT_H)
+  // Disable trapping on common exceptions.
+  fpsetmask (~(FP_X_OFL|FP_X_INV|FP_X_DZ|FP_X_DNML|FP_X_UFL|FP_X_IMP));
+#endif
+}
+#endif
+
+#if defined NeXT
 extern "C"
 {
   typedef void (*_cplus_fcn_int) (int);
@@ -119,6 +134,17 @@
 }
 #endif
 
+#if defined (SCO)
+static void
+SCO_init (void)
+{
+#if defined (HAVE_IEEEFP_H)
+  // Disable trapping on common exceptions.
+  fpsetmask (~(FP_X_OFL|FP_X_INV|FP_X_DZ|FP_X_DNML|FP_X_UFL|FP_X_IMP));
+#endif
+}
+#endif
+
 #if defined (EXCEPTION_IN_MATH)
 extern "C"
 int
@@ -149,14 +175,11 @@
 sysdep_init (void)
 {
 #if defined (__386BSD__) || defined (__FreeBSD__)
-#if defined (HAVE_FLOATINGPOINT_H)
-  // Disable trapping on common exceptions.
-  fpsetmask (~(FP_X_OFL|FP_X_INV|FP_X_DZ|FP_X_DNML|FP_X_UFL|FP_X_IMP));
-#endif
-#endif
-
-#ifdef NeXT
+  BSD_init ();
+#elif defined NeXT
   NeXT_init ();
+#elif defined (SCO)
+  SCO_init ();
 #endif
 
   octave_ieee_init ();