2009-04-04 Kai Tietz <kai.tietz@onevision.com>
* setjmp.h (_setjmp3): Use for 32-bit instead of _setjmp.
Additional pass NULL as secondary element for 32-bits.
git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@717 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-headers/include/ChangeLog b/mingw-w64-headers/include/ChangeLog
index c4b66d5..6cb5b08 100644
--- a/mingw-w64-headers/include/ChangeLog
+++ b/mingw-w64-headers/include/ChangeLog
@@ -1,3 +1,8 @@
+2009-04-04 Kai Tietz <kai.tietz@onevision.com>
+
+ * setjmp.h (_setjmp3): Use for 32-bit instead of _setjmp.
+ Additional pass NULL as secondary element for 32-bits.
+
2009-04-03 Kai Tietz <kai.tietz@onevision.com>
PR/2675096
diff --git a/mingw-w64-headers/include/_mingw.h b/mingw-w64-headers/include/_mingw.h
index ab3a30d..0f1b3d5 100644
--- a/mingw-w64-headers/include/_mingw.h
+++ b/mingw-w64-headers/include/_mingw.h
@@ -182,11 +182,6 @@
#undef _CRT_PACKING
#define _CRT_PACKING 8
-#ifdef _WIN64
-#undef USE_MINGW_SETJMP_TWO_ARGS
-#define USE_MINGW_SETJMP_TWO_ARGS
-#endif
-
#pragma pack(push,_CRT_PACKING)
#include <vadefs.h>
diff --git a/mingw-w64-headers/include/setjmp.h b/mingw-w64-headers/include/setjmp.h
index e4f142a..154480e 100644
--- a/mingw-w64-headers/include/setjmp.h
+++ b/mingw-w64-headers/include/setjmp.h
@@ -132,20 +132,33 @@
void * __cdecl __attribute__ ((__nothrow__)) mingw_getsp(void);
-#ifdef USE_MINGW_SETJMP_TWO_ARGS
+#ifndef USE_NO_MINGW_SETJMP_TWO_ARGS
#ifndef _INC_SETJMPEX
-#define setjmp(BUF) _setjmp((BUF),mingw_getsp())
- int __cdecl __attribute__ ((__nothrow__)) _setjmp(jmp_buf _Buf,void *_Ctx);
+#ifdef _WIN64
+#define setjmp(BUF) _setjmp((BUF), mingw_getsp())
+#else
+#define setjmp(BUF) _setjmp3((BUF), NULL)
+#endif
+ int __cdecl __attribute__ ((__nothrow__)) _setjmp(jmp_buf _Buf, void *_Ctx);
+ int __cdecl __attribute__ ((__nothrow__)) _setjmp3(jmp_buf _Buf, void *_Ctx);
#else
#undef setjmp
-#define setjmp(BUF) _setjmpex((BUF),mingw_getsp())
-#define setjmpex(BUF) _setjmpex((BUF),mingw_getsp())
+#ifdef _WIN64
+#define setjmp(BUF) _setjmpex((BUF), mingw_getsp())
+#define setjmpex(BUF) _setjmpex((BUF), mingw_getsp())
+#else
+#define setjmp(BUF) _setjmpex((BUF), NULL)
+#define setjmpex(BUF) _setjmpex((BUF), NULL)
+#endif
int __cdecl __attribute__ ((__nothrow__)) _setjmpex(jmp_buf _Buf,void *_Ctx);
#endif
+
#else
+
#ifndef _INC_SETJMPEX
#define setjmp _setjmp
#endif
+
int __cdecl __attribute__ ((__nothrow__)) setjmp(jmp_buf _Buf);
#endif