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 */