mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 03:00:34 +03:00
feat(build): add COMPILER_CXX_TRIVIAL_AUTO_VAR_INIT to keep C++26 behavior after toolchain upgrade
This commit is contained in:
@@ -242,6 +242,22 @@ function(__init_project_configuration)
|
||||
list(APPEND compile_options "-Wunused-but-set-variable=1")
|
||||
endif()
|
||||
|
||||
if(CONFIG_COMPILER_CXX_TRIVIAL_AUTO_VAR_INIT_UNINITIALIZED)
|
||||
set(compiler_cxx_trivial_auto_var_init "uninitialized")
|
||||
elseif(CONFIG_COMPILER_CXX_TRIVIAL_AUTO_VAR_INIT_PATTERN)
|
||||
set(compiler_cxx_trivial_auto_var_init "pattern")
|
||||
elseif(CONFIG_COMPILER_CXX_TRIVIAL_AUTO_VAR_INIT_ZERO)
|
||||
set(compiler_cxx_trivial_auto_var_init "zero")
|
||||
endif()
|
||||
if(compiler_cxx_trivial_auto_var_init)
|
||||
idf_toolchain_remove_flags(CXX_COMPILE_OPTIONS "-ftrivial-auto-var-init")
|
||||
check_cxx_compiler_flag("-ftrivial-auto-var-init=${compiler_cxx_trivial_auto_var_init}"
|
||||
compiler_supports_ftrivial_auto_var_init)
|
||||
if(compiler_supports_ftrivial_auto_var_init)
|
||||
idf_toolchain_add_flags(CXX_COMPILE_OPTIONS "-ftrivial-auto-var-init=${compiler_cxx_trivial_auto_var_init}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Clang finds some warnings in IDF code which GCC doesn't.
|
||||
# All these warnings should be fixed before Clang is presented
|
||||
# as a toolchain choice for users.
|
||||
|
||||
Reference in New Issue
Block a user