]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge from gnulib, porting to Tru64.
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 11 Sep 2011 16:52:58 +0000 (09:52 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 11 Sep 2011 16:52:58 +0000 (09:52 -0700)
* lib/lstat.c, lib/stat.c, m4/include_next.m4, m4/nocrash.m4:
* m4/signal_h.m4, m4/time_h.m4, m4/unistd_h.m4:
Merge from gnulib.  This fixes a compilation error on Tru64 UNIX
aka OSF/1 5.1 DTK cc.  There is also some mingw stuff here that
doesn't affect Emacs.

ChangeLog
lib/lstat.c
lib/stat.c
m4/include_next.m4
m4/nocrash.m4
m4/signal_h.m4
m4/time_h.m4
m4/unistd_h.m4

index 437c6dba2f196b87f8a09ceaf9375211441f9169..d86762a2d036c9a6ce94564e049357c0039411d2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2011-09-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Merge from gnulib, porting to Tru64.
+       * lib/lstat.c, lib/stat.c, m4/include_next.m4, m4/nocrash.m4:
+       * m4/signal_h.m4, m4/time_h.m4, m4/unistd_h.m4:
+       Merge from gnulib.  This fixes a compilation error on Tru64 UNIX
+       aka OSF/1 5.1 DTK cc.  There is also some mingw stuff here that
+       doesn't affect Emacs.
+
 2011-09-06  Paul Eggert  <eggert@cs.ucla.edu>
 
        * configure.in (isnan): Remove now-unnecessary check.
index 29fc6d25f90a4d6a45a0b64c2e7571594a216da4..d786288f2b78ee434a072803c6070d6794b7834f 100644 (file)
@@ -42,7 +42,10 @@ orig_lstat (const char *filename, struct stat *buf)
 }
 
 /* Specification.  */
-# include <sys/stat.h>
+/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
+   eliminates this include because of the preliminary #include <sys/stat.h>
+   above.  */
+# include "sys/stat.h"
 
 # include <string.h>
 # include <errno.h>
index 6c354d1d35735e266251a91074520f41b637c1a8..1002f161bfa5e07b0f2146d31bc5efa635a19a3b 100644 (file)
@@ -34,7 +34,10 @@ orig_stat (const char *filename, struct stat *buf)
 }
 
 /* Specification.  */
-#include <sys/stat.h>
+/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
+   eliminates this include because of the preliminary #include <sys/stat.h>
+   above.  */
+#include "sys/stat.h"
 
 #include <errno.h>
 #include <limits.h>
index ebf081a11012928a4dabf5570dc02b3bb38b27d1..14a1009b5d4a6eb05e87a9bc6a2877251302f36f 100644 (file)
@@ -1,4 +1,4 @@
-# include_next.m4 serial 20
+# include_next.m4 serial 21
 dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -207,17 +207,34 @@ dnl until we can assume autoconf 2.64 or newer.
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+changequote(,)
+               case "$host_os" in
+                 mingw*)
+                   dnl For the sake of native Windows compilers (excluding gcc),
+                   dnl treat backslash as a directory separator, like /.
+                   dnl Actually, these compilers use a double-backslash as
+                   dnl directory separator, inside the
+                   dnl   # line "filename"
+                   dnl directives.
+                   gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='/'
+                   ;;
+               esac
+changequote([,])
+               gl_absolute_header_sed='\#'"${gl_dirsep_regex}"']m4_defn([gl_HEADER_NAME])[#{
+                   s#.*"\(.*'"${gl_dirsep_regex}"']m4_defn([gl_HEADER_NAME])[\)".*#\1#
+                   s#^/[^/]#//&#
+                   p
+                   q
+                 }'
                dnl eval is necessary to expand gl_absname_cpp.
                dnl Ultrix and Pyramid sh refuse to redirect output of eval,
                dnl so use subshell.
                AS_VAR_SET(gl_next_header,
                  ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
-                  sed -n '\#/]m4_defn([gl_HEADER_NAME])[#{
-                    s#.*"\(.*/]m4_defn([gl_HEADER_NAME])[\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'])
+                      sed -n "$gl_absolute_header_sed"`'"'])
           m4_if([$2], [check],
             [else
                AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>'])
index 0cc0d53ebf73e4fd2755d7281007113ddd2f7794..60aad952956a8543599133a0865a6fab0f7ed16c 100644 (file)
@@ -1,4 +1,4 @@
-# nocrash.m4 serial 2
+# nocrash.m4 serial 3
 dnl Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -79,6 +79,34 @@ nocrash_init (void)
     }
   }
 }
+#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* Avoid a crash on native Windows.  */
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#include <winerror.h>
+static LONG WINAPI
+exception_filter (EXCEPTION_POINTERS *ExceptionInfo)
+{
+  switch (ExceptionInfo->ExceptionRecord->ExceptionCode)
+    {
+    case EXCEPTION_ACCESS_VIOLATION:
+    case EXCEPTION_IN_PAGE_ERROR:
+    case EXCEPTION_STACK_OVERFLOW:
+    case EXCEPTION_GUARD_PAGE:
+    case EXCEPTION_PRIV_INSTRUCTION:
+    case EXCEPTION_ILLEGAL_INSTRUCTION:
+    case EXCEPTION_DATATYPE_MISALIGNMENT:
+    case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
+    case EXCEPTION_NONCONTINUABLE_EXCEPTION:
+      exit (1);
+    }
+  return EXCEPTION_CONTINUE_SEARCH;
+}
+static void
+nocrash_init (void)
+{
+  SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter);
+}
 #else
 /* Avoid a crash on POSIX systems.  */
 #include <signal.h>
index b9536fb0e3caee9ca550f5083d1c4908874a028c..c3f25386ca22638bab0177ea67e52837e6552f05 100644 (file)
@@ -1,4 +1,4 @@
-# signal_h.m4 serial 16
+# signal_h.m4 serial 17
 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -17,6 +17,9 @@ AC_DEFUN([gl_SIGNAL_H],
 #include <signal.h>
     ]])
 
+  dnl Ensure the type pid_t gets defined.
+  AC_REQUIRE([AC_TYPE_PID_T])
+
   AC_REQUIRE([AC_TYPE_UID_T])
 
   dnl Persuade glibc <signal.h> to define sighandler_t.
index 615da1cfd3945d3cb71341bc95ea1b1d857e0e46..6e6394fdc90033ebfc83b28b2ff7799eee79d817 100644 (file)
@@ -2,7 +2,7 @@
 
 # Copyright (C) 2000-2001, 2003-2007, 2009-2011 Free Software Foundation, Inc.
 
-# serial 4
+# serial 5
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -23,6 +23,9 @@ AC_DEFUN([gl_HEADER_TIME_H_BODY],
   AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
   gl_NEXT_HEADERS([time.h])
   AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC])
+
+  dnl Ensure the type pid_t gets defined.
+  AC_REQUIRE([AC_TYPE_PID_T])
 ])
 
 dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared
index fb6fe07726538819a93c89b9a4ab9a8f69a82d71..6483b815d60d5b77b0ffb8d111dadabaeec73f25 100644 (file)
@@ -1,4 +1,4 @@
-# unistd_h.m4 serial 56
+# unistd_h.m4 serial 57
 dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -21,6 +21,9 @@ AC_DEFUN([gl_UNISTD_H],
   fi
   AC_SUBST([HAVE_UNISTD_H])
 
+  dnl Ensure the type pid_t gets defined.
+  AC_REQUIRE([AC_TYPE_PID_T])
+
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use.
   gl_WARN_ON_USE_PREPARE([[#include <unistd.h>