1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-27 12:41:57 +03:00

Revert "Use workaround of __builtin_setjmp only on MINGW on MSVCRT"

This reverts commit c313fa4602.

This is found to cause issues on x86_64 Windows even when using UCRT.

Discussion: https://postgr.es/m/3312149.1744001936@sss.pgh.pa.us
This commit is contained in:
Andrew Dunstan
2025-04-07 11:01:15 -04:00
parent 8ce79483dc
commit 8f5e419484

View File

@ -1326,19 +1326,19 @@ extern int fdatasync(int fildes);
/*
* When there is no sigsetjmp, its functionality is provided by plain
* setjmp. We now support the case only on Windows. However, it seems
* that MinGW-64 has some longstanding issues in its setjmp support when
* building with MSVCRT, so on that toolchain we cheat and use gcc's builtins.
* that MinGW-64 has some longstanding issues in its setjmp support,
* so on that toolchain we cheat and use gcc's builtins.
*/
#ifdef WIN32
#if defined(__MINGW64__) && !defined(_UCRT)
#ifdef __MINGW64__
typedef intptr_t sigjmp_buf[5];
#define sigsetjmp(x,y) __builtin_setjmp(x)
#define siglongjmp __builtin_longjmp
#else /* !defined(__MINGW64__) || defined(_UCRT) */
#else /* !__MINGW64__ */
#define sigjmp_buf jmp_buf
#define sigsetjmp(x,y) setjmp(x)
#define siglongjmp longjmp
#endif /* defined(__MINGW64__) && !defined(_UCRT) */
#endif /* __MINGW64__ */
#endif /* WIN32 */
/* /port compatibility functions */