diff --git a/gfx.h b/gfx.h index 48a92770..9afb3256 100644 --- a/gfx.h +++ b/gfx.h @@ -35,7 +35,12 @@ * @brief Generic 'true' boolean constant. */ #if !defined(TRUE) || defined(__DOXYGEN__) - #define TRUE -1 + // Keil/ARMCC requires some special threatment. can probably be generalized to always be 1. + #if (GFX_COMPILER == GFX_COMPILER_ARMCC) || (GFX_COMPILER == GFX_COMPILER_KEIL) + #define TRUE 1 + #else + #define TRUE -1 + #endif #endif /** @@ -57,7 +62,7 @@ #if GFX_NO_INLINE #define GFXINLINE #else - #if defined(__KEIL__) || defined(__C51__) + #if (GFX_COMPILER == GFX_COMPILER_ARMCC) || (GFX_COMPILER == GFX_COMPILER_KEIL) #define GFXINLINE __inline #else #define GFXINLINE inline diff --git a/src/gos/gos_x_threads.c b/src/gos/gos_x_threads.c index 8a781b21..ea6e1852 100644 --- a/src/gos/gos_x_threads.c +++ b/src/gos/gos_x_threads.c @@ -203,12 +203,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)) || defined(__KEIL__) || defined(__C51__) + #if (!defined(setjmp) && !defined(_setjmp)) || (GFX_COMPILER == GFX_COMPILER_ARMCC) || (GFX_COMPILER == GFX_COMPILER_KEIL) #define CXT_SAVE setjmp #else #define CXT_SAVE _setjmp #endif - #if (!defined(longjmp) && !defined(_longjmp)) || defined(__KEIL__) || defined(__C51__) + #if (!defined(longjmp) && !defined(_longjmp)) || (GFX_COMPILER == GFX_COMPILER_ARMCC) || (GFX_COMPILER == GFX_COMPILER_KEIL) #define CXT_RESTORE longjmp #else #define CXT_RESTORE _longjmp diff --git a/src/gwin/gwin_class.h b/src/gwin/gwin_class.h index 7946a839..6a3f62b4 100644 --- a/src/gwin/gwin_class.h +++ b/src/gwin/gwin_class.h @@ -23,7 +23,7 @@ #if GFX_USE_GWIN || defined(__DOXYGEN__) -#if defined(__KEIL__) || defined(__C51__) +#if (GFX_COMPILER == GFX_COMPILER_ARMCC) || (GFX_COMPILER == GFX_COMPILER_KEIL) #pragma anon_unions #endif