From bc7a2b05c1e3e69c93a1381a343d32e18907c782 Mon Sep 17 00:00:00 2001 From: inmarket Date: Mon, 12 Dec 2016 19:59:47 +1000 Subject: [PATCH] Update Raw32 threads CLIB support to work with modern versions of the MINGW compiler --- src/gos/gos_x_threads.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gos/gos_x_threads.c b/src/gos/gos_x_threads.c index 7afd224a..520a8a64 100644 --- a/src/gos/gos_x_threads.c +++ b/src/gos/gos_x_threads.c @@ -212,12 +212,12 @@ static thread mainthread; // The main thread context * If they don't exist compile them to be the standard setjmp() function. * Similarly for longjmp(). */ - #if (!defined(setjmp) && !defined(_setjmp)) || GFX_COMPILER == GFX_COMPILER_KEIL + #if (!defined(setjmp) && !defined(_setjmp)) || GFX_COMPILER == GFX_COMPILER_KEIL || GFX_COMPILER == GFX_COMPILER_MINGW32 || GFX_COMPILER == GFX_COMPILER_MINGW64 #define CXT_SAVE setjmp #else #define CXT_SAVE _setjmp #endif - #if (!defined(longjmp) && !defined(_longjmp)) || GFX_COMPILER == GFX_COMPILER_KEIL + #if (!defined(longjmp) && !defined(_longjmp)) || GFX_COMPILER == GFX_COMPILER_KEIL || GFX_COMPILER == GFX_COMPILER_MINGW32 || GFX_COMPILER == GFX_COMPILER_MINGW64 #define CXT_RESTORE longjmp #else #define CXT_RESTORE _longjmp @@ -346,6 +346,7 @@ static thread mainthread; // The main thread context uint32_t i; // Copy the stack frame + s = 0; #if AUTO_DETECT_STACKFRAME if (STACK_DIR_UP) { // Stack grows up nf = (char *)(t) + sizeof(thread) + sizeof(jmp_buf) + STACK_BASE;