From ee0fb40e7c9797964dcf3f27a396993d6db25f3e Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 26 Mar 2013 22:30:43 +0200 Subject: [PATCH] Fix _setjmp calls for MinGW64. nt/config.nt: Don't undefine HAVE__SETJMP here. nt/inc/ms-w32.h (HAVE__SETJMP) [_W64]: Undefine for MinGW64 here.. --- nt/ChangeLog | 4 +--- nt/config.nt | 6 +----- nt/inc/ms-w32.h | 4 ++++ 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/nt/ChangeLog b/nt/ChangeLog index 6f208f2a18f..f851004f605 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,9 +1,7 @@ 2013-03-26 Eli Zaretskii * inc/ms-w32.h (USE_NO_MINGW_SETJMP_TWO_ARGS): Don't define. - - * config.nt (HAVE__SETJMP) [!_W64]: Don't define for MinGW64, as - its _setjmp accepts 2 arguments. + (HAVE__SETJMP) [_W64]: Undefine for MinGW64. * addsection.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Do not define for MinGW64. diff --git a/nt/config.nt b/nt/config.nt index 4f151fcad20..3d606258fc0 100644 --- a/nt/config.nt +++ b/nt/config.nt @@ -1143,12 +1143,8 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if you have the `_ftime' function. */ #undef HAVE__FTIME -/* Define to 1 if _setjmp and _longjmp work. MinGW64 uses a - 2-argument _setjmp, and setjmp is a macro defined to supply the 2nd - arg correctly, so don't use _setjmp directly in that case. */ -#ifndef _W64 +/* Define to 1 if _setjmp and _longjmp work. */ #define HAVE__SETJMP 1 -#endif /* Define to 1 if you have the `__builtin_unwind_init' function. */ #undef HAVE___BUILTIN_UNWIND_INIT diff --git a/nt/inc/ms-w32.h b/nt/inc/ms-w32.h index fd18e8fd1da..a2111da6f3e 100644 --- a/nt/inc/ms-w32.h +++ b/nt/inc/ms-w32.h @@ -161,6 +161,10 @@ extern char *getenv (); /* Make sure 'struct timespec' and 'struct timezone' are defined. */ #include #include +/* MinGW64 uses a 2-argument _setjmp, and setjmp is a macro defined to + supply the 2nd arg correctly, so don't use _setjmp directly in that + case. */ +#undef HAVE__SETJMP #endif #ifdef _MSC_VER -- 2.39.2