Contents of /trunk/xmms/gentoo-m4/intdiv0.m4
Parent Directory | Revision Log
Revision 153 -
(show annotations)
(download)
Tue May 8 20:52:56 2007 UTC (17 years, 5 months ago) by niro
File size: 1909 byte(s)
Tue May 8 20:52:56 2007 UTC (17 years, 5 months ago) by niro
File size: 1909 byte(s)
-import
1 | # intdiv0.m4 serial 1 (gettext-0.11.3) |
2 | dnl Copyright (C) 2002 Free Software Foundation, Inc. |
3 | dnl This file is free software, distributed under the terms of the GNU |
4 | dnl General Public License. As a special exception to the GNU General |
5 | dnl Public License, this file may be distributed as part of a program |
6 | dnl that contains a configuration script generated by Autoconf, under |
7 | dnl the same distribution terms as the rest of that program. |
8 | |
9 | dnl From Bruno Haible. |
10 | |
11 | AC_DEFUN([gt_INTDIV0], |
12 | [ |
13 | AC_REQUIRE([AC_PROG_CC])dnl |
14 | AC_REQUIRE([AC_CANONICAL_HOST])dnl |
15 | |
16 | AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], |
17 | gt_cv_int_divbyzero_sigfpe, |
18 | [ |
19 | AC_TRY_RUN([ |
20 | #include <stdlib.h> |
21 | #include <signal.h> |
22 | |
23 | static void |
24 | #ifdef __cplusplus |
25 | sigfpe_handler (int sig) |
26 | #else |
27 | sigfpe_handler (sig) int sig; |
28 | #endif |
29 | { |
30 | /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ |
31 | exit (sig != SIGFPE); |
32 | } |
33 | |
34 | int x = 1; |
35 | int y = 0; |
36 | int z; |
37 | int nan; |
38 | |
39 | int main () |
40 | { |
41 | signal (SIGFPE, sigfpe_handler); |
42 | /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ |
43 | #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) |
44 | signal (SIGTRAP, sigfpe_handler); |
45 | #endif |
46 | /* Linux/SPARC yields signal SIGILL. */ |
47 | #if defined (__sparc__) && defined (__linux__) |
48 | signal (SIGILL, sigfpe_handler); |
49 | #endif |
50 | |
51 | z = x / y; |
52 | nan = y / y; |
53 | exit (1); |
54 | } |
55 | ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, |
56 | [ |
57 | # Guess based on the CPU. |
58 | case "$host_cpu" in |
59 | alpha* | i[34567]86 | m68k | s390*) |
60 | gt_cv_int_divbyzero_sigfpe="guessing yes";; |
61 | *) |
62 | gt_cv_int_divbyzero_sigfpe="guessing no";; |
63 | esac |
64 | ]) |
65 | ]) |
66 | case "$gt_cv_int_divbyzero_sigfpe" in |
67 | *yes) value=1;; |
68 | *) value=0;; |
69 | esac |
70 | AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, |
71 | [Define if integer division by zero raises signal SIGFPE.]) |
72 | ]) |