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
4 changed files with 30 additions and 0 deletions
|
@ -215,6 +215,14 @@ if(CONFIG_MISRA_SANE)
|
||||||
zephyr_compile_options($<$<COMPILE_LANGUAGE:CXX>:${CPP_MISRA_SANE_FLAG}>)
|
zephyr_compile_options($<$<COMPILE_LANGUAGE:CXX>:${CPP_MISRA_SANE_FLAG}>)
|
||||||
endif()
|
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
|
# @Intent: Set compiler specific macro inclusion of AUTOCONF_H
|
||||||
toolchain_cc_imacros(${AUTOCONF_H})
|
toolchain_cc_imacros(${AUTOCONF_H})
|
||||||
|
|
||||||
|
|
|
@ -171,6 +171,12 @@ endmenu
|
||||||
|
|
||||||
menu "Compiler Options"
|
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
|
config NATIVE_APPLICATION
|
||||||
bool "Build as a native host application"
|
bool "Build as a native host application"
|
||||||
help
|
help
|
||||||
|
|
|
@ -116,6 +116,14 @@ macro(toolchain_cc_cpp_warning_error_misra_sane dest_var_name)
|
||||||
set_ifndef(${dest_var_name} "-Werror=vla")
|
set_ifndef(${dest_var_name} "-Werror=vla")
|
||||||
endmacro()
|
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 the warnings that are not supported for C++ compilations
|
||||||
|
|
||||||
list(APPEND CXX_EXCLUDED_OPTIONS
|
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")
|
set_ifndef(${dest_var_name} "-Werror=vla")
|
||||||
endmacro()
|
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 the warnings that are not supported for C++ compilations
|
||||||
|
|
||||||
list(APPEND CXX_EXCLUDED_OPTIONS
|
list(APPEND CXX_EXCLUDED_OPTIONS
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue