From ff01cc0212c951a2613f7ca5fb1e9579f17299cb Mon Sep 17 00:00:00 2001 From: Joel Bodenmann Date: Sat, 7 Nov 2015 16:54:10 +0100 Subject: [PATCH] Adding GFX_COMPILER_ARMCC and GFX_COMPILER_KEIL --- gfx.h | 9 +++++++-- src/gos/gos_x_threads.c | 4 ++-- src/gwin/gwin_class.h | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) 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