summaryrefslogtreecommitdiff
path: root/config/intdiv0.m4
diff options
context:
space:
mode:
authorkcook <kcook@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-22 23:53:59 +0000
committerkcook <kcook@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-22 23:53:59 +0000
commit986086aaf32dbfc0d41ad004bdb9063c9f46eb8d (patch)
tree1591f8f1fd2ecee0b66f132b65126799ed3a78a1 /config/intdiv0.m4
parentad8f53f5646a96ecddded02ba24722d39bd479c0 (diff)
downloadgcc-986086aaf32dbfc0d41ad004bdb9063c9f46eb8d.tar.gz
config/
2004-09-22 Kelley Cook <kcook@gcc.gnu.org> * gettext-sister.m4: Renamed from gettext.m4 * codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4, po.m4, inttypes.m4, inttypes-pri.m4, inttypes_h.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4, nls.m4, progtest.m4, stdint_h.m4, uintmax_t.m4, ulonglong.m4: Import from gettext-0.12.1 sources. gcc/ 2004-09-22 Kelley Cook <kcook@gcc.gnu.org> * aclocal.m4: Update for rename of gettext-sister.m4. libcpp/ 2004-09-22 Kelley Cook <kcook@gcc.gnu.org> * Makefile.in (aclocal.m4): Update dependencies. * configure.ac (AC_CONFIG_MACRO_DIR): New. * aclocal.m4, configure: Regenerate. intl/ 2004-09-22 Kelley Cook <kcook@gcc.gnu.org> * configure.ac (AC_CONFIG_MACRO_DIR): New. (ACLOCAL, AUTOCONF, AUTOHEADER, MAINT): Substitute. * Makefile.in: Update with maintainer mode rules. * README: Update aclocal regeneration instructions. * aclocal.m4, configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87900 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'config/intdiv0.m4')
-rw-r--r--config/intdiv0.m472
1 files changed, 72 insertions, 0 deletions
diff --git a/config/intdiv0.m4 b/config/intdiv0.m4
new file mode 100644
index 00000000000..55dddcf1c24
--- /dev/null
+++ b/config/intdiv0.m4
@@ -0,0 +1,72 @@
+# intdiv0.m4 serial 1 (gettext-0.11.3)
+dnl Copyright (C) 2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License. As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+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.])
+])