zephyr/cmake/compiler/armclang/compiler_flags.cmake
Daniel Leung e38fc6de8a cmake: enable -Wshadow partially for in-tree code
This enables -Wshadow to warn about shadow variables on
in tree code under arch/, boards/, drivers/, kernel/,
lib/, soc/, and subsys/.

Note that this does not enable it globally because
out-of-tree modules will probably take some time to fix
(or not at all depending on the project), and it would be
great to avoid introduction of any new shadow variables
in the meantime.

Also note that this tries to be done in a minimally
invasive way so it is easy to revert when we enable
-Wshadow globally. Source files under modules/, samples/
and tests/ are currently excluded because there does not
seem to be a trivial way to add -Wshadow there without
going through all CMakeLists.txt to add the option
(as there are 1000+ files to change).

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-08-22 11:39:58 +02:00

12 lines
584 B
CMake

# First step is to inherit all properties from gcc, as clang is compatible with most flags.
include(${ZEPHYR_BASE}/cmake/compiler/clang/compiler_flags.cmake)
# Required ASM flags when using armclang, this should be handled by CMake, but
# fails because of: https://gitlab.kitware.com/cmake/cmake/-/issues/19963
set_property(TARGET asm APPEND PROPERTY required "--target=${triple}")
# Only the ARM Compiler C library is currently supported.
set_compiler_property(PROPERTY nostdinc)
# Remove after testing that -Wshadow works
set_compiler_property(PROPERTY warning_shadow_variables)