setjmp: Only use _setjmp3 on i386 Don't use _WIN64 to decide this, but check explicitly for i386, and use _setjmp on other platforms. This fixes compilation of code using setjmp on arm32. Signed-off-by: Martin Storsjö <martin@martin.st>
diff --git a/mingw-w64-headers/crt/setjmp.h b/mingw-w64-headers/crt/setjmp.h index c931c77..dcda667 100644 --- a/mingw-w64-headers/crt/setjmp.h +++ b/mingw-w64-headers/crt/setjmp.h
@@ -178,14 +178,14 @@ #ifndef USE_NO_MINGW_SETJMP_TWO_ARGS # ifndef _INC_SETJMPEX -# ifdef _WIN64 +# if defined(_X86_) || defined(__i386__) +# define setjmp(BUF) _setjmp3((BUF), NULL) +# else # if (__MINGW_GCC_VERSION < 40702) # define setjmp(BUF) _setjmp((BUF), mingw_getsp()) # else # define setjmp(BUF) _setjmp((BUF), __builtin_frame_address (0)) # endif -# else -# define setjmp(BUF) _setjmp3((BUF), NULL) # endif int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmp(jmp_buf _Buf, void *_Ctx); int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmp3(jmp_buf _Buf, void *_Ctx);