include/msvcrt: Use setjmpex() instead of setjmp() on 64-bit.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alexandre Julliard 2019-05-30 12:48:49 +02:00
parent a16ef96dc6
commit c0a54996e2
1 changed files with 8 additions and 2 deletions

View File

@ -146,12 +146,18 @@ extern "C" {
int __cdecl _setjmp(jmp_buf);
void __cdecl longjmp(jmp_buf,int);
#if defined(_WIN64) && defined(__GNUC__)
int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmpex(jmp_buf,void*);
# define setjmp(buf) _setjmpex(buf,__builtin_frame_address(0))
# define setjmpex(buf) _setjmpex(buf,__builtin_frame_address(0))
#else
# define setjmp _setjmp
#endif
#ifdef __cplusplus
}
#endif
#define setjmp _setjmp
#include <poppack.h>
#endif /* __WINE_SETJMP_H */