mirror of
https://github.com/yasm/yasm
synced 2026-08-26 22:26:05 -04:00
Note that due to an m4 bug, you need at least m4 1.4.5, and autoconf built with the newer version of m4, to run autoconf on the source now (this does not apply if you're just running ./configure from a tarball). svn path=/trunk/yasm/; revision=1768
70 lines
1.7 KiB
Text
70 lines
1.7 KiB
Text
# intdiv0.m4 serial 1 (gettext-0.11.3)
|
|
dnl Copyright (C) 2002 Free Software Foundation, Inc.
|
|
dnl This file is free software; the Free Software Foundation
|
|
dnl gives unlimited permission to copy and/or distribute it,
|
|
dnl with or without modifications, as long as this notice is preserved.
|
|
|
|
dnl From Bruno Haible.
|
|
|
|
AC_DEFUN([gt_INTDIV0],
|
|
[
|
|
AC_REQUIRE([AC_PROG_CC])dnl
|
|
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
|
|
|
AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
|
|
gt_cv_int_divbyzero_sigfpe,
|
|
[
|
|
AC_TRY_RUN([
|
|
#include <stdlib.h>
|
|
#include <signal.h>
|
|
|
|
static void
|
|
#ifdef __cplusplus
|
|
sigfpe_handler (int sig)
|
|
#else
|
|
sigfpe_handler (sig) int sig;
|
|
#endif
|
|
{
|
|
/* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
|
|
exit (sig != SIGFPE);
|
|
}
|
|
|
|
int x = 1;
|
|
int y = 0;
|
|
int z;
|
|
int nan;
|
|
|
|
int main ()
|
|
{
|
|
signal (SIGFPE, sigfpe_handler);
|
|
/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
|
|
#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
|
|
signal (SIGTRAP, sigfpe_handler);
|
|
#endif
|
|
/* Linux/SPARC yields signal SIGILL. */
|
|
#if defined (__sparc__) && defined (__linux__)
|
|
signal (SIGILL, sigfpe_handler);
|
|
#endif
|
|
|
|
z = x / y;
|
|
nan = y / y;
|
|
exit (1);
|
|
}
|
|
], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
|
|
[
|
|
# Guess based on the CPU.
|
|
case "$host_cpu" in
|
|
alpha* | i[34567]86 | m68k | s390*)
|
|
gt_cv_int_divbyzero_sigfpe="guessing yes";;
|
|
*)
|
|
gt_cv_int_divbyzero_sigfpe="guessing no";;
|
|
esac
|
|
])
|
|
])
|
|
case "$gt_cv_int_divbyzero_sigfpe" in
|
|
*yes) value=1;;
|
|
*) value=0;;
|
|
esac
|
|
AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
|
|
[Define if integer division by zero raises signal SIGFPE.])
|
|
])
|