Commit 1bdb8cd2 authored by Stefan Andersson's avatar Stefan Andersson Committed by Brad King
Browse files

IAR: Detect compiler platform version

`__IAR_SYSTEMS_ICC__` provides additional version information that
we need to determine correct usage of the compiler.  Extract and
store it as `CMAKE_<LANG>_COMPILER_VERSION_INTERNAL`.

Issue: #17264
parent b96ca728
......@@ -2,8 +2,10 @@
# http://www.iar.com
# http://supp.iar.com/FilesPublic/UPDINFO/004916/arm/doc/EWARM_DevelopmentGuide.ENU.pdf
#
# __IAR_SYSTEMS_ICC__ An integer that identifies the IAR compiler platform. The current value is 8. Note that
# the number could be higher in a future version of the product
# __IAR_SYSTEMS_ICC__ An integer that identifies the IAR compiler platform:
# 9 and higher means C11 and C++14 as language default
# 8 means C99 and C++03 as language default
# 7 and lower means C89 and EC++ as language default.
# __ICCARM__ An integer that is set to 1 when the code is compiled with the IAR C/C++ Compiler for ARM
# __VER__ An integer that identifies the version number of the IAR compiler in use. For example,
# version 5.11.3 is returned as 5011003.
......@@ -15,4 +17,5 @@ set(_compiler_id_version_compute "
# define @PREFIX@COMPILER_VERSION_MAJOR @MACRO_DEC@((__VER__) / 1000000)
# define @PREFIX@COMPILER_VERSION_MINOR @MACRO_DEC@(((__VER__) / 1000) % 1000)
# define @PREFIX@COMPILER_VERSION_PATCH @MACRO_DEC@((__VER__) % 1000)
# define @PREFIX@COMPILER_VERSION_INTERNAL @MACRO_DEC@(__IAR_SYSTEMS_ICC__)
# endif")
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment