24 lines
818 B
Diff
24 lines
818 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
|
|
@@ -1360,15 +1360,15 @@ 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 */
|
|
|
|
/* /port compatibility functions */
|