Files
MINGW-packages/mingw-w64-postgresql/postgresql-14.0-use-mingw-setjmp-on-ucrt.patch
Jeremy Drake d9c27afded postgresql: update to 14.2
- Use setjmp instead of __builtin_setjmp on UCRT
- Improve winpty wrappers (based on github-cli)
- test actually pass, so remove || true
2022-03-21 19:53:09 -07:00

27 lines
857 B
Diff

diff --git a/src/include/c.h b/src/include/c.h
index c8ede08..e445524 100644
--- a/src/include/c.h
+++ b/src/include/c.h
@@ -1340,17 +1340,18 @@ extern unsigned long long strtoull(const char *str, char **endptr, int base);
* so on that toolchain we cheat and use gcc's builtins.
*/
#ifdef WIN32
-#ifdef __MINGW64__
+#if defined(__MINGW64__) && !defined(_UCRT)
typedef intptr_t sigjmp_buf[5];
#define sigsetjmp(x,y) __builtin_setjmp(x)
#define siglongjmp __builtin_longjmp
-#else /* !__MINGW64__ */
+#else /* !defined(__MINGW64__) || defined(_UCRT) */
#define sigjmp_buf jmp_buf
#define sigsetjmp(x,y) setjmp(x)
#define siglongjmp longjmp
-#endif /* __MINGW64__ */
+#endif /* defined(__MINGW64__) && !defined(_UCRT) */
#endif /* WIN32 */
+
/* EXEC_BACKEND defines */
#ifdef EXEC_BACKEND
#define NON_EXEC_STATIC