toolchain: xcc: use Clang if exists

The XCC toolchain may come with Clang front-end depending on
how it's built. Currently, the only SoC/board using XCC is
the intel_s1000_crb and its XCC toolchain comes with Clang
3.9.0 which has a lot better support for C99 and C++11 than
the portion based on GCC 4.2 (which does not even support
C++11). So this change attempts to use the Clang portion
instead of GCC if the Clang executable exists.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This commit is contained in:
Daniel Leung 2019-12-16 17:26:54 -08:00 committed by Johan Hedberg
commit e73231f7f0
4 changed files with 35 additions and 8 deletions

View file

@ -2,5 +2,10 @@
zephyr_library_sources_ifdef(CONFIG_CPLUSPLUS cpp_fixes.c)
zephyr_library_sources_ifdef(CONFIG_NEWLIB_LIBC newlib_fixes.c)
if(NOT (CC STREQUAL "clang"))
# These two are due to IS_ENABLED() not being parsed correctly
# in old GCC 4.2 based XCC. Clang is not affected.
zephyr_library_sources_ifdef(CONFIG_LOG_MINIMAL log_minimal_fixes.c)
zephyr_library_sources_ifdef(CONFIG_TEST ztest_fixes.c)
endif()