"Fossies" - the Fresh Open Source Software Archive

Member "jpilot-2_0_1/m4/intdiv0.m4" (3 Apr 2021, 1760 Bytes) of package /linux/privat/jpilot-2_0_1.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    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 ])