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:
parent
a98e746832
commit
3f44249e19
8 changed files with 82 additions and 13 deletions
|
|
@ -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>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue