coding_guideline: Add an option to enforce rules
Add a Kconfig option to enable compiler flags that help to enforce some code guideline rules. Note: As the current code base is not in compliance with the adopted code guideline, some rules will generate warnings during the build. This is intended to help to spot violations. Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
This commit is contained in:
parent
f75f8bec20
commit
b587e8d063
|
@ -215,6 +215,14 @@ if(CONFIG_MISRA_SANE)
|
|||
zephyr_compile_options($<$<COMPILE_LANGUAGE:CXX>:${CPP_MISRA_SANE_FLAG}>)
|
||||
endif()
|
||||
|
||||
# This is intend to be temporary. Once we have fixed the violations that
|
||||
# prevents build Zephyr, these flags shall be part of the default flags.
|
||||
if(CONFIG_CODING_GUIDELINE_CHECK)
|
||||
# @Intent: Obtain toolchain compiler flags relating to coding guideline
|
||||
toolchain_cc_warning_error_coding_guideline_check(CC_CODING_GUIDELINE_CHECK_FLAG)
|
||||
zephyr_compile_options($<$<COMPILE_LANGUAGE:C>:${CC_CODING_GUIDELINE_CHECK_FLAG}>)
|
||||
endif()
|
||||
|
||||
# @Intent: Set compiler specific macro inclusion of AUTOCONF_H
|
||||
toolchain_cc_imacros(${AUTOCONF_H})
|
||||
|
||||
|
|
|
@ -171,6 +171,12 @@ endmenu
|
|||
|
||||
menu "Compiler Options"
|
||||
|
||||
config CODING_GUIDELINE_CHECK
|
||||
bool "Enforce coding guideline rules"
|
||||
help
|
||||
Use available compiler flags to check coding guideline rules during
|
||||
the build.
|
||||
|
||||
config NATIVE_APPLICATION
|
||||
bool "Build as a native host application"
|
||||
help
|
||||
|
|
|
@ -116,6 +116,14 @@ macro(toolchain_cc_cpp_warning_error_misra_sane dest_var_name)
|
|||
set_ifndef(${dest_var_name} "-Werror=vla")
|
||||
endmacro()
|
||||
|
||||
macro(toolchain_cc_warning_error_coding_guideline_check dest_var_name)
|
||||
if (NOT ${dest_var_name})
|
||||
set(${dest_var_name}
|
||||
-Wvla
|
||||
)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
# List the warnings that are not supported for C++ compilations
|
||||
|
||||
list(APPEND CXX_EXCLUDED_OPTIONS
|
||||
|
|
|
@ -109,6 +109,14 @@ macro(toolchain_cc_cpp_warning_error_misra_sane dest_var_name)
|
|||
set_ifndef(${dest_var_name} "-Werror=vla")
|
||||
endmacro()
|
||||
|
||||
macro(toolchain_cc_warning_error_coding_guideline_check dest_var_name)
|
||||
if (NOT ${dest_var_name})
|
||||
set(${dest_var_name}
|
||||
-Wvla
|
||||
)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
# List the warnings that are not supported for C++ compilations
|
||||
|
||||
list(APPEND CXX_EXCLUDED_OPTIONS
|
||||
|
|
Loading…
Reference in a new issue