1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00

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.
This commit is contained in:
Paul Eggert 2011-09-11 09:52:58 -07:00
parent a98e746832
commit 3f44249e19
8 changed files with 82 additions and 13 deletions

View 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>