Mercurial > audlegacy
annotate m4/intdiv0.m4 @ 4458:2df5e83c9bf4
Updated bunch of m4 macros from Debian testing.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 14 Apr 2008 11:46:17 +0300 |
parents | cb178e5ad177 |
children | 0b924771b26e |
rev | line source |
---|---|
0 | 1 # intdiv0.m4 serial 1 (gettext-0.11.3) |
2 dnl Copyright (C) 2002 Free Software Foundation, Inc. | |
4458
2df5e83c9bf4
Updated bunch of m4 macros from Debian testing.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
3 dnl This file is free software; the Free Software Foundation |
2df5e83c9bf4
Updated bunch of m4 macros from Debian testing.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
4 dnl gives unlimited permission to copy and/or distribute it, |
2df5e83c9bf4
Updated bunch of m4 macros from Debian testing.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
5 dnl with or without modifications, as long as this notice is preserved. |
0 | 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 AC_TRY_RUN([ | |
18 #include <stdlib.h> | |
19 #include <signal.h> | |
20 | |
21 static void | |
22 #ifdef __cplusplus | |
23 sigfpe_handler (int sig) | |
24 #else | |
25 sigfpe_handler (sig) int sig; | |
26 #endif | |
27 { | |
28 /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ | |
29 exit (sig != SIGFPE); | |
30 } | |
31 | |
32 int x = 1; | |
33 int y = 0; | |
34 int z; | |
35 int nan; | |
36 | |
37 int main () | |
38 { | |
39 signal (SIGFPE, sigfpe_handler); | |
40 /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ | |
41 #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) | |
42 signal (SIGTRAP, sigfpe_handler); | |
43 #endif | |
44 /* Linux/SPARC yields signal SIGILL. */ | |
45 #if defined (__sparc__) && defined (__linux__) | |
46 signal (SIGILL, sigfpe_handler); | |
47 #endif | |
48 | |
49 z = x / y; | |
50 nan = y / y; | |
51 exit (1); | |
52 } | |
53 ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, | |
54 [ | |
55 # Guess based on the CPU. | |
56 case "$host_cpu" in | |
57 alpha* | i[34567]86 | m68k | s390*) | |
58 gt_cv_int_divbyzero_sigfpe="guessing yes";; | |
59 *) | |
60 gt_cv_int_divbyzero_sigfpe="guessing no";; | |
61 esac | |
62 ]) | |
63 ]) | |
64 case "$gt_cv_int_divbyzero_sigfpe" in | |
65 *yes) value=1;; | |
66 *) value=0;; | |
67 esac | |
68 AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, | |
69 [Define if integer division by zero raises signal SIGFPE.]) | |
70 ]) |