From 5695558f4a5f0d68cd1c200258b89d1524ff230f Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 29 Mar 2017 11:51:31 -0400 Subject: [PATCH] SDCC: Fix identification of current sdcc compiler The sdcc compiler no longer defines the `SDCC` preprocessor macro. Instead `__SDCC_VERSION_MAJOR` and similar component-wise macros are defined. Use them instead if defined. Issue: #16746 --- Modules/Compiler/SDCC-C-DetermineCompiler.cmake | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Modules/Compiler/SDCC-C-DetermineCompiler.cmake b/Modules/Compiler/SDCC-C-DetermineCompiler.cmake index 1d7dd78d88..4c70c5ec49 100644 --- a/Modules/Compiler/SDCC-C-DetermineCompiler.cmake +++ b/Modules/Compiler/SDCC-C-DetermineCompiler.cmake @@ -1,10 +1,16 @@ # sdcc, the small devices C compiler for embedded systems, # http://sdcc.sourceforge.net */ -set(_compiler_id_pp_test "defined(SDCC)") +set(_compiler_id_pp_test "defined(__SDCC_VERSION_MAJOR) || defined(SDCC)") set(_compiler_id_version_compute " +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR @MACRO_DEC@(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR @MACRO_DEC@(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH @MACRO_DEC@(__SDCC_VERSION_PATCH) +# else /* SDCC = VRP */ # define COMPILER_VERSION_MAJOR @MACRO_DEC@(SDCC/100) # define COMPILER_VERSION_MINOR @MACRO_DEC@(SDCC/10 % 10) -# define COMPILER_VERSION_PATCH @MACRO_DEC@(SDCC % 10)") +# define COMPILER_VERSION_PATCH @MACRO_DEC@(SDCC % 10) +# endif")