~ubuntu-branches/ubuntu/saucy/rrdtool/saucy-proposed

« back to all changes in this revision

Viewing changes to m4/intdiv0.m4

  • Committer: Bazaar Package Importer
  • Author(s): Clint Byrum
  • Date: 2010-07-22 08:07:01 UTC
  • mfrom: (1.2.8 upstream) (3.1.6 sid)
  • Revision ID: james.westby@ubuntu.com-20100722080701-k46mgdfz6euxwqsm
Tags: 1.4.3-1ubuntu1
* Merge from debian unstable, Remaining changes:
  - debian/control: Don't build against ruby1.9 as we don't want
    it in main.
* require libdbi >= 0.8.3 to prevent aborts when using dbi datasources

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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.
 
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
 
32
        AC_TRY_RUN([
 
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,
 
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
 
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
])