]> granicus.if.org Git - php/commitdiff
fp_except check for FreeBSD 1.0-2.2.5
authorSascha Schumann <sas@php.net>
Sun, 18 Jun 2000 16:51:42 +0000 (16:51 +0000)
committerSascha Schumann <sas@php.net>
Sun, 18 Jun 2000 16:51:42 +0000 (16:51 +0000)
Zend/Zend.m4
Zend/acinclude.m4
Zend/zend.c

index 79d2c69138d4ffe5faa36851e8880dbf789b3c45..0107d8f09bb912bff43bdaa521dffb4f87667de0 100644 (file)
@@ -67,6 +67,8 @@ AC_ZEND_BROKEN_SPRINTF
 
 AC_CHECK_FUNCS(finite isfinite isinf isnan)
 
+ZEND_FP_EXCEPT
+       
 AC_SUBST(ZEND_SCANNER)
 
 ])
index 7ec914d407aa4698bb89e4059d29175e59680716..395f7220db4e13faf0f52af46ce40a5d67b2113b 100644 (file)
@@ -2,6 +2,24 @@ dnl $Id$
 dnl
 dnl This file contains local autoconf functions.
 
+AC_DEFUN(ZEND_FP_EXCEPT,[
+  AC_CACHE_CHECK(whether fp_except is defined, ac_cv_type_fp_except,[
+    AC_TRY_COMPILE([
+#include <floatingpoint.h>
+],[
+fp_except x = (fp_except) 0;
+],[
+     ac_cv_type_fp_except=yes
+],[
+     ac_cv_type_fp_except=no
+],[
+     ac_cv_type_fp_except=no
+])])
+  if test "$ac_cv_type_fp_except" = "yes"; then
+    AC_DEFINE(HAVE_FP_EXCEPT, 1, [whether floatingpoint.h defines fp_except])
+  fi
+])
+
 dnl
 dnl Check for broken sprintf()
 dnl
index c704e5d6ac6d37dc8fc7fff617f919fc2ad2acee..5065da7537ca078b2a56fc11a90ebd055da93e48 100644 (file)
@@ -329,8 +329,12 @@ int zend_startup(zend_utility_functions *utility_functions, char **extensions, i
 #ifdef __FreeBSD__
        {
                /* FreeBSD floating point precision fix */
-               
-               fp_except_t mask;
+#ifdef HAVE_FP_EXCEPT
+               fp_except
+#else
+               fp_except_t
+#endif
+               mask;
 
                mask = fpgetmask();
                fpsetmask(mask & ~FP_X_IMP);