Annotation of embedaddon/libiconv/srcm4/intdiv0.m4, revision 1.1.1.2
1.1.1.2 ! misho 1: # intdiv0.m4 serial 5 (gettext-0.18.2)
! 2: dnl Copyright (C) 2002, 2007-2008, 2010-2011 Free Software Foundation, Inc.
1.1 misho 3: dnl This file is free software; the Free Software Foundation
4: dnl gives unlimited permission to copy and/or distribute it,
5: dnl with or without modifications, as long as this notice is preserved.
6:
7: dnl From Bruno Haible.
8:
9: AC_DEFUN([gt_INTDIV0],
10: [
11: AC_REQUIRE([AC_PROG_CC])dnl
12: AC_REQUIRE([AC_CANONICAL_HOST])dnl
13:
14: AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
15: gt_cv_int_divbyzero_sigfpe,
16: [
17: gt_cv_int_divbyzero_sigfpe=
18: changequote(,)dnl
19: case "$host_os" in
20: macos* | darwin[6-9]* | darwin[1-9][0-9]*)
21: # On MacOS X 10.2 or newer, just assume the same as when cross-
22: # compiling. If we were to perform the real test, 1 Crash Report
23: # dialog window would pop up.
24: case "$host_cpu" in
25: i[34567]86 | x86_64)
26: gt_cv_int_divbyzero_sigfpe="guessing yes" ;;
27: esac
28: ;;
29: esac
30: changequote([,])dnl
31: if test -z "$gt_cv_int_divbyzero_sigfpe"; then
1.1.1.2 ! misho 32: AC_RUN_IFELSE(
! 33: [AC_LANG_SOURCE([[
1.1 misho 34: #include <stdlib.h>
35: #include <signal.h>
36:
37: static void
38: sigfpe_handler (int sig)
39: {
40: /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
41: exit (sig != SIGFPE);
42: }
43:
44: int x = 1;
45: int y = 0;
46: int z;
47: int nan;
48:
49: int main ()
50: {
51: signal (SIGFPE, sigfpe_handler);
52: /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
53: #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
54: signal (SIGTRAP, sigfpe_handler);
55: #endif
56: /* Linux/SPARC yields signal SIGILL. */
57: #if defined (__sparc__) && defined (__linux__)
58: signal (SIGILL, sigfpe_handler);
59: #endif
60:
61: z = x / y;
62: nan = y / y;
1.1.1.2 ! misho 63: exit (2);
1.1 misho 64: }
1.1.1.2 ! misho 65: ]])],
! 66: [gt_cv_int_divbyzero_sigfpe=yes],
! 67: [gt_cv_int_divbyzero_sigfpe=no],
1.1 misho 68: [
69: # Guess based on the CPU.
70: changequote(,)dnl
71: case "$host_cpu" in
72: alpha* | i[34567]86 | x86_64 | m68k | s390*)
73: gt_cv_int_divbyzero_sigfpe="guessing yes";;
74: *)
75: gt_cv_int_divbyzero_sigfpe="guessing no";;
76: esac
77: changequote([,])dnl
78: ])
79: fi
80: ])
81: case "$gt_cv_int_divbyzero_sigfpe" in
82: *yes) value=1;;
83: *) value=0;;
84: esac
85: AC_DEFINE_UNQUOTED([INTDIV0_RAISES_SIGFPE], [$value],
86: [Define if integer division by zero raises signal SIGFPE.])
87: ])
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>