libvirt/gnulib/m4/intdiv0.m4

85 lines
2.3 KiB
Plaintext
Raw Normal View History

update from gnulib; use its time_r module for localtime_r on mingw * bootstrap (modules): Add time_r. * gnulib/m4/time_h.m4: New file. * gnulib/m4/time_r.m4: New file. * gnulib/lib/time_r.c: New file. * gnulib/tests/test-time.c: New file. * gnulib/lib/time.in.h: New file. * gnulib/lib/Makefile.am: Update. * gnulib/lib/fseeko.c: Likewise. * gnulib/lib/lstat.c: Likewise. * gnulib/lib/netdb.in.h: Likewise. * gnulib/lib/stdint.in.h: Likewise. * gnulib/lib/stdlib.in.h: Likewise. * gnulib/lib/sys_select.in.h: Likewise. * gnulib/lib/sys_stat.in.h: Likewise. * gnulib/lib/sys_time.in.h: Likewise. * gnulib/lib/unistd.in.h: Likewise. * gnulib/lib/wchar.in.h: Likewise. * gnulib/m4/codeset.m4: Likewise. * gnulib/m4/errno_h.m4: Likewise. * gnulib/m4/extensions.m4: Likewise. * gnulib/m4/getaddrinfo.m4: Likewise. * gnulib/m4/gettext.m4: Likewise. * gnulib/m4/glibc2.m4: Likewise. * gnulib/m4/glibc21.m4: Likewise. * gnulib/m4/gnulib-cache.m4: Likewise. * gnulib/m4/gnulib-comp.m4: Likewise. * gnulib/m4/iconv.m4: Likewise. * gnulib/m4/include_next.m4: Likewise. * gnulib/m4/intdiv0.m4: Likewise. * gnulib/m4/intlmacosx.m4: Likewise. * gnulib/m4/intmax.m4: Likewise. * gnulib/m4/inttypes-pri.m4: Likewise. * gnulib/m4/inttypes_h.m4: Likewise. * gnulib/m4/lcmessage.m4: Likewise. * gnulib/m4/lib-link.m4: Likewise. * gnulib/m4/lstat.m4: Likewise. * gnulib/m4/netdb_h.m4: Likewise. * gnulib/m4/nls.m4: Likewise. * gnulib/m4/po.m4: Likewise. * gnulib/m4/printf-posix.m4: Likewise. * gnulib/m4/printf.m4: Likewise. * gnulib/m4/progtest.m4: Likewise. * gnulib/m4/size_max.m4: Likewise. * gnulib/m4/sockets.m4: Likewise. * gnulib/m4/stdint.m4: Likewise. * gnulib/m4/stdint_h.m4: Likewise. * gnulib/m4/sys_ioctl_h.m4: Likewise. * gnulib/m4/threadlib.m4: Likewise. * gnulib/m4/uintmax_t.m4: Likewise. * gnulib/m4/visibility.m4: Likewise. * gnulib/m4/wchar.m4: Likewise. * gnulib/m4/wchar_t.m4: Likewise. * gnulib/m4/wint_t.m4: Likewise. * gnulib/m4/xsize.m4: Likewise. * gnulib/tests/Makefile.am: Likewise. * gnulib/tests/sockets.h: Likewise. * gnulib/tests/.cvsignore: Likewise. * gnulib/tests/.gitignore: Likewise. * tests/.gitignore: Likewise. * docs/examples/.gitignore: Likewise. * gnulib/lib/.cvsignore: Likewise. * gnulib/lib/.gitignore: Likewise. remove files associated with obsolete strpbrk module * gnulib/lib/strpbrk.c: Remove file. * gnulib/m4/strpbrk.m4: Remove file.
2009-01-06 20:12:50 +00:00
# intdiv0.m4 serial 3 (gettext-0.18)
dnl Copyright (C) 2002, 2007-2008 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,
[
gt_cv_int_divbyzero_sigfpe=
changequote(,)dnl
case "$host_os" in
macos* | darwin[6-9]* | darwin[1-9][0-9]*)
# On MacOS X 10.2 or newer, just assume the same as when cross-
# compiling. If we were to perform the real test, 1 Crash Report
# dialog window would pop up.
case "$host_cpu" in
i[34567]86 | x86_64)
gt_cv_int_divbyzero_sigfpe="guessing yes" ;;
esac
;;
esac
changequote([,])dnl
if test -z "$gt_cv_int_divbyzero_sigfpe"; then
AC_TRY_RUN([
#include <stdlib.h>
#include <signal.h>
static void
sigfpe_handler (int sig)
{
/* 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);
}
update from gnulib; use its time_r module for localtime_r on mingw * bootstrap (modules): Add time_r. * gnulib/m4/time_h.m4: New file. * gnulib/m4/time_r.m4: New file. * gnulib/lib/time_r.c: New file. * gnulib/tests/test-time.c: New file. * gnulib/lib/time.in.h: New file. * gnulib/lib/Makefile.am: Update. * gnulib/lib/fseeko.c: Likewise. * gnulib/lib/lstat.c: Likewise. * gnulib/lib/netdb.in.h: Likewise. * gnulib/lib/stdint.in.h: Likewise. * gnulib/lib/stdlib.in.h: Likewise. * gnulib/lib/sys_select.in.h: Likewise. * gnulib/lib/sys_stat.in.h: Likewise. * gnulib/lib/sys_time.in.h: Likewise. * gnulib/lib/unistd.in.h: Likewise. * gnulib/lib/wchar.in.h: Likewise. * gnulib/m4/codeset.m4: Likewise. * gnulib/m4/errno_h.m4: Likewise. * gnulib/m4/extensions.m4: Likewise. * gnulib/m4/getaddrinfo.m4: Likewise. * gnulib/m4/gettext.m4: Likewise. * gnulib/m4/glibc2.m4: Likewise. * gnulib/m4/glibc21.m4: Likewise. * gnulib/m4/gnulib-cache.m4: Likewise. * gnulib/m4/gnulib-comp.m4: Likewise. * gnulib/m4/iconv.m4: Likewise. * gnulib/m4/include_next.m4: Likewise. * gnulib/m4/intdiv0.m4: Likewise. * gnulib/m4/intlmacosx.m4: Likewise. * gnulib/m4/intmax.m4: Likewise. * gnulib/m4/inttypes-pri.m4: Likewise. * gnulib/m4/inttypes_h.m4: Likewise. * gnulib/m4/lcmessage.m4: Likewise. * gnulib/m4/lib-link.m4: Likewise. * gnulib/m4/lstat.m4: Likewise. * gnulib/m4/netdb_h.m4: Likewise. * gnulib/m4/nls.m4: Likewise. * gnulib/m4/po.m4: Likewise. * gnulib/m4/printf-posix.m4: Likewise. * gnulib/m4/printf.m4: Likewise. * gnulib/m4/progtest.m4: Likewise. * gnulib/m4/size_max.m4: Likewise. * gnulib/m4/sockets.m4: Likewise. * gnulib/m4/stdint.m4: Likewise. * gnulib/m4/stdint_h.m4: Likewise. * gnulib/m4/sys_ioctl_h.m4: Likewise. * gnulib/m4/threadlib.m4: Likewise. * gnulib/m4/uintmax_t.m4: Likewise. * gnulib/m4/visibility.m4: Likewise. * gnulib/m4/wchar.m4: Likewise. * gnulib/m4/wchar_t.m4: Likewise. * gnulib/m4/wint_t.m4: Likewise. * gnulib/m4/xsize.m4: Likewise. * gnulib/tests/Makefile.am: Likewise. * gnulib/tests/sockets.h: Likewise. * gnulib/tests/.cvsignore: Likewise. * gnulib/tests/.gitignore: Likewise. * tests/.gitignore: Likewise. * docs/examples/.gitignore: Likewise. * gnulib/lib/.cvsignore: Likewise. * gnulib/lib/.gitignore: Likewise. remove files associated with obsolete strpbrk module * gnulib/lib/strpbrk.c: Remove file. * gnulib/m4/strpbrk.m4: Remove file.
2009-01-06 20:12:50 +00:00
], [gt_cv_int_divbyzero_sigfpe=yes], [gt_cv_int_divbyzero_sigfpe=no],
[
# Guess based on the CPU.
changequote(,)dnl
case "$host_cpu" in
alpha* | i[34567]86 | x86_64 | m68k | s390*)
gt_cv_int_divbyzero_sigfpe="guessing yes";;
*)
gt_cv_int_divbyzero_sigfpe="guessing no";;
esac
changequote([,])dnl
])
fi
])
case "$gt_cv_int_divbyzero_sigfpe" in
*yes) value=1;;
*) value=0;;
esac
update from gnulib; use its time_r module for localtime_r on mingw * bootstrap (modules): Add time_r. * gnulib/m4/time_h.m4: New file. * gnulib/m4/time_r.m4: New file. * gnulib/lib/time_r.c: New file. * gnulib/tests/test-time.c: New file. * gnulib/lib/time.in.h: New file. * gnulib/lib/Makefile.am: Update. * gnulib/lib/fseeko.c: Likewise. * gnulib/lib/lstat.c: Likewise. * gnulib/lib/netdb.in.h: Likewise. * gnulib/lib/stdint.in.h: Likewise. * gnulib/lib/stdlib.in.h: Likewise. * gnulib/lib/sys_select.in.h: Likewise. * gnulib/lib/sys_stat.in.h: Likewise. * gnulib/lib/sys_time.in.h: Likewise. * gnulib/lib/unistd.in.h: Likewise. * gnulib/lib/wchar.in.h: Likewise. * gnulib/m4/codeset.m4: Likewise. * gnulib/m4/errno_h.m4: Likewise. * gnulib/m4/extensions.m4: Likewise. * gnulib/m4/getaddrinfo.m4: Likewise. * gnulib/m4/gettext.m4: Likewise. * gnulib/m4/glibc2.m4: Likewise. * gnulib/m4/glibc21.m4: Likewise. * gnulib/m4/gnulib-cache.m4: Likewise. * gnulib/m4/gnulib-comp.m4: Likewise. * gnulib/m4/iconv.m4: Likewise. * gnulib/m4/include_next.m4: Likewise. * gnulib/m4/intdiv0.m4: Likewise. * gnulib/m4/intlmacosx.m4: Likewise. * gnulib/m4/intmax.m4: Likewise. * gnulib/m4/inttypes-pri.m4: Likewise. * gnulib/m4/inttypes_h.m4: Likewise. * gnulib/m4/lcmessage.m4: Likewise. * gnulib/m4/lib-link.m4: Likewise. * gnulib/m4/lstat.m4: Likewise. * gnulib/m4/netdb_h.m4: Likewise. * gnulib/m4/nls.m4: Likewise. * gnulib/m4/po.m4: Likewise. * gnulib/m4/printf-posix.m4: Likewise. * gnulib/m4/printf.m4: Likewise. * gnulib/m4/progtest.m4: Likewise. * gnulib/m4/size_max.m4: Likewise. * gnulib/m4/sockets.m4: Likewise. * gnulib/m4/stdint.m4: Likewise. * gnulib/m4/stdint_h.m4: Likewise. * gnulib/m4/sys_ioctl_h.m4: Likewise. * gnulib/m4/threadlib.m4: Likewise. * gnulib/m4/uintmax_t.m4: Likewise. * gnulib/m4/visibility.m4: Likewise. * gnulib/m4/wchar.m4: Likewise. * gnulib/m4/wchar_t.m4: Likewise. * gnulib/m4/wint_t.m4: Likewise. * gnulib/m4/xsize.m4: Likewise. * gnulib/tests/Makefile.am: Likewise. * gnulib/tests/sockets.h: Likewise. * gnulib/tests/.cvsignore: Likewise. * gnulib/tests/.gitignore: Likewise. * tests/.gitignore: Likewise. * docs/examples/.gitignore: Likewise. * gnulib/lib/.cvsignore: Likewise. * gnulib/lib/.gitignore: Likewise. remove files associated with obsolete strpbrk module * gnulib/lib/strpbrk.c: Remove file. * gnulib/m4/strpbrk.m4: Remove file.
2009-01-06 20:12:50 +00:00
AC_DEFINE_UNQUOTED([INTDIV0_RAISES_SIGFPE], [$value],
[Define if integer division by zero raises signal SIGFPE.])
])