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..
This commit is contained in:
Eli Zaretskii 2013-03-26 22:30:43 +02:00
parent be3a31b22b
commit ee0fb40e7c
3 changed files with 6 additions and 8 deletions

View file

@ -1,9 +1,7 @@
2013-03-26 Eli Zaretskii <eliz@gnu.org>
* 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.

View file

@ -1143,12 +1143,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* 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

View file

@ -161,6 +161,10 @@ extern char *getenv ();
/* Make sure 'struct timespec' and 'struct timezone' are defined. */
#include <sys/types.h>
#include <time.h>
/* 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