ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/gvpe/m4/intdiv0.m4
Revision: 1.1
Committed: Sat Mar 1 15:53:02 2003 UTC (21 years, 2 months ago) by pcg
Branch: MAIN
CVS Tags: rel-1_9, rel-1_8, rel-2_01, poll-based-iom, rel-3_0, VPE_0_9, VPE_1_2, rel-2_2, rel-2_0, VPE_1_4, VPE_1_6, rel-1_7, VPE-1_6_1, rel-2_21, rel-2_22, rel-2_25, VPE_1_0, HEAD
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 pcg 1.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     ])