1.2.16
by Reinhard Tartler
Import upstream version 0.9.2 |
1 |
# intdiv0.m4 serial 2 (gettext-0.17) |
2 |
dnl Copyright (C) 2002, 2007 Free Software Foundation, Inc. |
|
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. |
|
1.1.1
by Sam Hocevar (Debian packages)
Import upstream version 0.7.2.final |
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 |
[ |
|
1.2.16
by Reinhard Tartler
Import upstream version 0.9.2 |
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 |
|
32 |
AC_TRY_RUN([ |
|
1.1.1
by Sam Hocevar (Debian packages)
Import upstream version 0.7.2.final |
33 |
#include <stdlib.h>
|
34 |
#include <signal.h>
|
|
35 |
||
36 |
static void
|
|
37 |
sigfpe_handler (int sig)
|
|
38 |
{
|
|
39 |
/* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
|
|
40 |
exit (sig != SIGFPE);
|
|
41 |
}
|
|
42 |
||
43 |
int x = 1;
|
|
44 |
int y = 0;
|
|
45 |
int z;
|
|
46 |
int nan;
|
|
47 |
||
48 |
int main ()
|
|
49 |
{
|
|
50 |
signal (SIGFPE, sigfpe_handler);
|
|
51 |
/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
|
|
52 |
#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
|
|
53 |
signal (SIGTRAP, sigfpe_handler);
|
|
54 |
#endif
|
|
55 |
/* Linux/SPARC yields signal SIGILL. */
|
|
56 |
#if defined (__sparc__) && defined (__linux__)
|
|
57 |
signal (SIGILL, sigfpe_handler);
|
|
58 |
#endif
|
|
59 |
||
60 |
z = x / y;
|
|
61 |
nan = y / y;
|
|
62 |
exit (1);
|
|
63 |
}
|
|
64 |
], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, |
|
1.2.16
by Reinhard Tartler
Import upstream version 0.9.2 |
65 |
[ |
66 |
# Guess based on the CPU.
|
|
67 |
changequote(,)dnl
|
|
68 |
case "$host_cpu" in
|
|
69 |
alpha* | i[34567]86 | x86_64 | m68k | s390*) |
|
70 |
gt_cv_int_divbyzero_sigfpe="guessing yes";; |
|
71 |
*) |
|
72 |
gt_cv_int_divbyzero_sigfpe="guessing no";; |
|
73 |
esac |
|
74 |
changequote([,])dnl |
|
75 |
]) |
|
76 |
fi |
|
1.1.1
by Sam Hocevar (Debian packages)
Import upstream version 0.7.2.final |
77 |
]) |
78 |
case "$gt_cv_int_divbyzero_sigfpe" in |
|
79 |
*yes) value=1;; |
|
80 |
*) value=0;; |
|
81 |
esac |
|
82 |
AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, |
|
83 |
[Define if integer division by zero raises signal SIGFPE.]) |
|
84 |
]) |