changeset 8614:907387cee4d9

Avoid performing the test for real on x86 or x86_64 platforms running MacOS X.
author Bruno Haible <bruno@clisp.org>
date Tue, 03 Apr 2007 00:31:40 +0000
parents 2538349775e0
children 93169764276b
files ChangeLog m4/intdiv0.m4
diffstat 2 files changed, 32 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-04-02  Bruno Haible  <bruno@clisp.org>
+
+	* m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
+	x86 or x86_64 platforms running MacOS X.
+	Reported by Ryan Schmidt <@ryandesign.com>.
+
 2007-04-02  Bruno Haible  <bruno@clisp.org>
 
 	* m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
--- a/m4/intdiv0.m4
+++ b/m4/intdiv0.m4
@@ -14,7 +14,22 @@
   AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
     gt_cv_int_divbyzero_sigfpe,
     [
-      AC_TRY_RUN([
+      gt_cv_int_divbyzero_sigfpe=
+changequote(,)dnl
+      case "$host_os" in
+        macos* | darwin[6-9]* | darwin[1-9][0-9]*)
+          # On MacOS X 10.2 or newer, just assume the same as when cross-
+          # compiling. If we were to perform the real test, 1 Crash Report
+          # dialog window would pop up.
+          case "$host_cpu" in
+            i[34567]86 | x86_64)
+              gt_cv_int_divbyzero_sigfpe="guessing yes" ;;
+          esac
+          ;;
+      esac
+changequote([,])dnl
+      if test -z "$gt_cv_int_divbyzero_sigfpe"; then
+        AC_TRY_RUN([
 #include <stdlib.h>
 #include <signal.h>
 
@@ -47,17 +62,18 @@
   exit (1);
 }
 ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
-        [
-          # Guess based on the CPU.
+          [
+            # Guess based on the CPU.
 changequote(,)dnl
-          case "$host_cpu" in
-            alpha* | i[34567]86 | x86_64 | m68k | s390*)
-              gt_cv_int_divbyzero_sigfpe="guessing yes";;
-            *)
-              gt_cv_int_divbyzero_sigfpe="guessing no";;
-          esac
+            case "$host_cpu" in
+              alpha* | i[34567]86 | x86_64 | m68k | s390*)
+                gt_cv_int_divbyzero_sigfpe="guessing yes";;
+              *)
+                gt_cv_int_divbyzero_sigfpe="guessing no";;
+            esac
 changequote([,])dnl
-        ])
+          ])
+      fi
     ])
   case "$gt_cv_int_divbyzero_sigfpe" in
     *yes) value=1;;