Annotation of embedaddon/confuse/m4/intdiv0.m4, revision 1.1
1.1 ! misho 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; 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: 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: ])
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>