Rename Kconfig options (root)

This commit is contained in:
Roland Dobai 2019-04-24 15:02:25 +02:00
parent 1af263ebb2
commit c5000c83d2
28 changed files with 113 additions and 96 deletions

View File

@ -18,19 +18,19 @@ endif()
list(APPEND compile_definitions "-DGCC_NOT_5_2_0=${GCC_NOT_5_2_0}") list(APPEND compile_definitions "-DGCC_NOT_5_2_0=${GCC_NOT_5_2_0}")
if(CONFIG_OPTIMIZATION_LEVEL_RELEASE) if(CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE)
list(APPEND compile_options "-Os") list(APPEND compile_options "-Os")
else() else()
list(APPEND compile_options "-Og") list(APPEND compile_options "-Og")
endif() endif()
if(CONFIG_CXX_EXCEPTIONS) if(CONFIG_COMPILER_CXX_EXCEPTIONS)
list(APPEND cxx_compile_options "-fexceptions") list(APPEND cxx_compile_options "-fexceptions")
else() else()
list(APPEND cxx_compile_options "-fno-exceptions") list(APPEND cxx_compile_options "-fno-exceptions")
endif() endif()
if(CONFIG_DISABLE_GCC8_WARNINGS) if(CONFIG_COMPILER_DISABLE_GCC8_WARNINGS)
list(APPEND compile_options "-Wno-parentheses" list(APPEND compile_options "-Wno-parentheses"
"-Wno-sizeof-pointer-memaccess" "-Wno-sizeof-pointer-memaccess"
"-Wno-clobbered") "-Wno-clobbered")
@ -50,15 +50,15 @@ if(CONFIG_DISABLE_GCC8_WARNINGS)
endif() endif()
endif() endif()
if(CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED) if(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE)
list(APPEND compile_definitions "NDEBUG") list(APPEND compile_definitions "NDEBUG")
endif() endif()
if(CONFIG_STACK_CHECK_NORM) if(CONFIG_COMPILER_STACK_CHECK_MODE_NORM)
list(APPEND compile_options "-fstack-protector") list(APPEND compile_options "-fstack-protector")
elseif(CONFIG_STACK_CHECK_STRONG) elseif(CONFIG_COMPILER_STACK_CHECK_MODE_STRONG)
list(APPEND compile_options "-fstack-protector-strong") list(APPEND compile_options "-fstack-protector-strong")
elseif(CONFIG_STACK_CHECK_ALL) elseif(CONFIG_COMPILER_STACK_CHECK_MODE_ALL)
list(APPEND compile_options "-fstack-protector-all") list(APPEND compile_options "-fstack-protector-all")
endif() endif()

44
Kconfig
View File

@ -60,9 +60,9 @@ mainmenu "Espressif IoT Development Framework Configuration"
menu "Compiler options" menu "Compiler options"
choice OPTIMIZATION_COMPILER choice COMPILER_OPTIMIZATION
prompt "Optimization Level" prompt "Optimization Level"
default OPTIMIZATION_LEVEL_DEBUG default COMPILER_OPTIMIZATION_LEVEL_DEBUG
help help
This option sets compiler optimization level (gcc -O argument). This option sets compiler optimization level (gcc -O argument).
@ -76,15 +76,15 @@ mainmenu "Espressif IoT Development Framework Configuration"
in project makefile, before including $(IDF_PATH)/make/project.mk. Note that in project makefile, before including $(IDF_PATH)/make/project.mk. Note that
custom optimization levels may be unsupported. custom optimization levels may be unsupported.
config OPTIMIZATION_LEVEL_DEBUG config COMPILER_OPTIMIZATION_LEVEL_DEBUG
bool "Debug (-Og)" bool "Debug (-Og)"
config OPTIMIZATION_LEVEL_RELEASE config COMPILER_OPTIMIZATION_LEVEL_RELEASE
bool "Release (-Os)" bool "Release (-Os)"
endchoice endchoice
choice OPTIMIZATION_ASSERTION_LEVEL choice COMPILER_OPTIMIZATION_ASSERTION_LEVEL
prompt "Assertion level" prompt "Assertion level"
default OPTIMIZATION_ASSERTIONS_ENABLED default COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE
help help
Assertions can be: Assertions can be:
@ -96,20 +96,20 @@ mainmenu "Espressif IoT Development Framework Configuration"
- Disabled entirely (not recommended for most configurations.) -DNDEBUG is added - Disabled entirely (not recommended for most configurations.) -DNDEBUG is added
to CPPFLAGS in this case. to CPPFLAGS in this case.
config OPTIMIZATION_ASSERTIONS_ENABLED config COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE
prompt "Enabled" prompt "Enabled"
bool bool
help help
Enable assertions. Assertion content and line number will be printed on failure. Enable assertions. Assertion content and line number will be printed on failure.
config OPTIMIZATION_ASSERTIONS_SILENT config COMPILER_OPTIMIZATION_ASSERTIONS_SILENT
prompt "Silent (saves code size)" prompt "Silent (saves code size)"
bool bool
help help
Enable silent assertions. Failed assertions will abort(), user needs to Enable silent assertions. Failed assertions will abort(), user needs to
use the aborting address to find the line number with the failed assertion. use the aborting address to find the line number with the failed assertion.
config OPTIMIZATION_ASSERTIONS_DISABLED config COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE
prompt "Disabled (sets -DNDEBUG)" prompt "Disabled (sets -DNDEBUG)"
bool bool
help help
@ -117,7 +117,7 @@ mainmenu "Espressif IoT Development Framework Configuration"
endchoice # assertions endchoice # assertions
menuconfig CXX_EXCEPTIONS menuconfig COMPILER_CXX_EXCEPTIONS
bool "Enable C++ exceptions" bool "Enable C++ exceptions"
default n default n
help help
@ -129,17 +129,17 @@ mainmenu "Espressif IoT Development Framework Configuration"
Enabling this option currently adds an additional ~500 bytes of heap overhead Enabling this option currently adds an additional ~500 bytes of heap overhead
when an exception is thrown in user code for the first time. when an exception is thrown in user code for the first time.
config CXX_EXCEPTIONS_EMG_POOL_SIZE config COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE
int "Emergency Pool Size" int "Emergency Pool Size"
default 0 default 0
depends on CXX_EXCEPTIONS depends on COMPILER_CXX_EXCEPTIONS
help help
Size (in bytes) of the emergency memory pool for C++ exceptions. This pool will be used to allocate Size (in bytes) of the emergency memory pool for C++ exceptions. This pool will be used to allocate
memory for thrown exceptions when there is not enough memory on the heap. memory for thrown exceptions when there is not enough memory on the heap.
choice STACK_CHECK_MODE choice COMPILER_STACK_CHECK_MODE
prompt "Stack smashing protection mode" prompt "Stack smashing protection mode"
default STACK_CHECK_NONE default COMPILER_STACK_CHECK_MODE_NONE
help help
Stack smashing protection mode. Emit extra code to check for buffer overflows, such as stack Stack smashing protection mode. Emit extra code to check for buffer overflows, such as stack
smashing attacks. This is done by adding a guard variable to functions with vulnerable objects. smashing attacks. This is done by adding a guard variable to functions with vulnerable objects.
@ -162,23 +162,23 @@ mainmenu "Espressif IoT Development Framework Configuration"
- coverage: NORMAL < STRONG < OVERALL - coverage: NORMAL < STRONG < OVERALL
config STACK_CHECK_NONE config COMPILER_STACK_CHECK_MODE_NONE
bool "None" bool "None"
config STACK_CHECK_NORM config COMPILER_STACK_CHECK_MODE_NORM
bool "Normal" bool "Normal"
config STACK_CHECK_STRONG config COMPILER_STACK_CHECK_MODE_STRONG
bool "Strong" bool "Strong"
config STACK_CHECK_ALL config COMPILER_STACK_CHECK_MODE_ALL
bool "Overall" bool "Overall"
endchoice endchoice
config STACK_CHECK config COMPILER_STACK_CHECK
bool bool
default !STACK_CHECK_NONE default !COMPILER_STACK_CHECK_MODE_NONE
help help
Stack smashing protection. Stack smashing protection.
config WARN_WRITE_STRINGS config COMPILER_WARN_WRITE_STRINGS
bool "Enable -Wwrite-strings warning flag" bool "Enable -Wwrite-strings warning flag"
default "n" default "n"
help help
@ -192,7 +192,7 @@ mainmenu "Espressif IoT Development Framework Configuration"
For C++, this warns about the deprecated conversion from string For C++, this warns about the deprecated conversion from string
literals to ``char *``. literals to ``char *``.
config DISABLE_GCC8_WARNINGS config COMPILER_DISABLE_GCC8_WARNINGS
bool "Disable new warnings introduced in GCC 6 - 8" bool "Disable new warnings introduced in GCC 6 - 8"
default "n" default "n"
help help

View File

@ -18,9 +18,9 @@
// Enabling exceptions only when they are enabled in menuconfig // Enabling exceptions only when they are enabled in menuconfig
// //
# include <sdkconfig.h> # include <sdkconfig.h>
# ifndef CONFIG_CXX_EXCEPTIONS # ifndef CONFIG_COMPILER_CXX_EXCEPTIONS
# define ASIO_NO_EXCEPTIONS # define ASIO_NO_EXCEPTIONS
# endif // CONFIG_CXX_EXCEPTIONS # endif // CONFIG_COMPILER_CXX_EXCEPTIONS
// //
// LWIP compatifility inet and address macros/functions // LWIP compatifility inet and address macros/functions

View File

@ -18,7 +18,7 @@
// //
// This exception stub is enabled only if exceptions are disabled in menuconfig // This exception stub is enabled only if exceptions are disabled in menuconfig
// //
#if !defined(CONFIG_CXX_EXCEPTIONS) && defined (ASIO_NO_EXCEPTIONS) #if !defined(CONFIG_COMPILER_CXX_EXCEPTIONS) && defined (ASIO_NO_EXCEPTIONS)
#include "esp_log.h" #include "esp_log.h"
@ -34,6 +34,6 @@ void throw_exception(const Exception& e)
abort(); abort();
} }
}} }}
#endif // CONFIG_CXX_EXCEPTIONS==1 && defined (ASIO_NO_EXCEPTIONS) #endif // CONFIG_COMPILER_CXX_EXCEPTIONS==1 && defined (ASIO_NO_EXCEPTIONS)
#endif // _ESP_EXCEPTION_H_ #endif // _ESP_EXCEPTION_H_

View File

@ -5,6 +5,6 @@ register_component()
target_link_libraries(${COMPONENT_LIB} stdc++) target_link_libraries(${COMPONENT_LIB} stdc++)
target_link_libraries(${COMPONENT_LIB} "-u __cxa_guard_dummy") target_link_libraries(${COMPONENT_LIB} "-u __cxa_guard_dummy")
if(NOT CONFIG_CXX_EXCEPTIONS) if(NOT CONFIG_COMPILER_CXX_EXCEPTIONS)
target_link_libraries(${COMPONENT_LIB} "-u __cxx_fatal_exception") target_link_libraries(${COMPONENT_LIB} "-u __cxx_fatal_exception")
endif() endif()

View File

@ -2,7 +2,7 @@
# is taken from cxx_guards.o instead of libstdc++.a # is taken from cxx_guards.o instead of libstdc++.a
COMPONENT_ADD_LDFLAGS += -u __cxa_guard_dummy COMPONENT_ADD_LDFLAGS += -u __cxa_guard_dummy
ifndef CONFIG_CXX_EXCEPTIONS ifndef CONFIG_COMPILER_CXX_EXCEPTIONS
# If exceptions are disabled, ensure our fatal exception # If exceptions are disabled, ensure our fatal exception
# hooks are preferentially linked over libstdc++ which # hooks are preferentially linked over libstdc++ which
# has full exception support # has full exception support

View File

@ -4,7 +4,7 @@
#include <bits/functexcept.h> #include <bits/functexcept.h>
#include <sdkconfig.h> #include <sdkconfig.h>
#ifndef CONFIG_CXX_EXCEPTIONS #ifndef CONFIG_COMPILER_CXX_EXCEPTIONS
const char *FATAL_EXCEPTION = "Fatal C++ exception: "; const char *FATAL_EXCEPTION = "Fatal C++ exception: ";
@ -81,4 +81,4 @@ extern "C" void __cxa_call_terminate(void) __attribute__((alias("__cxx_fatal_exc
bool std::uncaught_exception() __attribute__((alias("__cxx_fatal_exception_bool"))); bool std::uncaught_exception() __attribute__((alias("__cxx_fatal_exception_bool")));
#endif // CONFIG_CXX_EXCEPTIONS #endif // CONFIG_COMPILER_CXX_EXCEPTIONS

View File

@ -196,7 +196,7 @@ TEST_CASE("before scheduler has started, static initializers work correctly", "[
TEST_ASSERT_EQUAL(2, StaticInitTestBeforeScheduler::order); TEST_ASSERT_EQUAL(2, StaticInitTestBeforeScheduler::order);
} }
#ifdef CONFIG_CXX_EXCEPTIONS #ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
TEST_CASE("c++ exceptions work", "[cxx]") TEST_CASE("c++ exceptions work", "[cxx]")
{ {
@ -259,7 +259,7 @@ TEST_CASE("c++ exceptions emergency pool", "[cxx] [ignore]")
thrown_value = e; thrown_value = e;
printf("Got exception %d\n", thrown_value); printf("Got exception %d\n", thrown_value);
} }
#if CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE > 0 #if CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE > 0
// free all memory // free all memory
while (pprev) { while (pprev) {
p = (void **)(*pprev); p = (void **)(*pprev);
@ -274,7 +274,7 @@ TEST_CASE("c++ exceptions emergency pool", "[cxx] [ignore]")
#endif #endif
} }
#else // !CONFIG_CXX_EXCEPTIONS #else // !CONFIG_COMPILER_CXX_EXCEPTIONS
TEST_CASE("std::out_of_range exception when -fno-exceptions", "[cxx][reset=abort,SW_CPU_RESET]") TEST_CASE("std::out_of_range exception when -fno-exceptions", "[cxx][reset=abort,SW_CPU_RESET]")
{ {

View File

@ -570,7 +570,7 @@ menu "ESP32-specific"
config ESP32_DEBUG_STUBS_ENABLE config ESP32_DEBUG_STUBS_ENABLE
bool "OpenOCD debug stubs" bool "OpenOCD debug stubs"
default OPTIMIZATION_LEVEL_DEBUG default COMPILER_OPTIMIZATION_LEVEL_DEBUG
depends on !ESP32_TRAX depends on !ESP32_TRAX
help help
Debug stubs are used by OpenOCD to execute pre-compiled onboard code which does some useful debugging, Debug stubs are used by OpenOCD to execute pre-compiled onboard code which does some useful debugging,

View File

@ -454,16 +454,16 @@ void start_cpu1_default(void)
} }
#endif //!CONFIG_FREERTOS_UNICORE #endif //!CONFIG_FREERTOS_UNICORE
#ifdef CONFIG_CXX_EXCEPTIONS #ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
size_t __cxx_eh_arena_size_get() size_t __cxx_eh_arena_size_get()
{ {
return CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE; return CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE;
} }
#endif #endif
static void do_global_ctors(void) static void do_global_ctors(void)
{ {
#ifdef CONFIG_CXX_EXCEPTIONS #ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
static struct object ob; static struct object ob;
__register_frame_info( __eh_frame, &ob ); __register_frame_info( __eh_frame, &ob );
#endif #endif

View File

@ -1,6 +1,6 @@
#include "unity.h" #include "unity.h"
#if CONFIG_STACK_CHECK #if CONFIG_COMPILER_STACK_CHECK
static void recur_and_smash() static void recur_and_smash()
{ {

View File

@ -1,6 +1,6 @@
#include "unity.h" #include "unity.h"
#if CONFIG_STACK_CHECK #if CONFIG_COMPILER_STACK_CHECK
static void recur_and_smash_cxx() static void recur_and_smash_cxx()
{ {

View File

@ -105,7 +105,7 @@ void _esp_error_check_failed_without_abort(esp_err_t rc, const char *file, int l
esp_err_t __err_rc = (x); \ esp_err_t __err_rc = (x); \
(void) sizeof(__err_rc); \ (void) sizeof(__err_rc); \
} while(0) } while(0)
#elif defined(CONFIG_OPTIMIZATION_ASSERTIONS_SILENT) #elif defined(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT)
#define ESP_ERROR_CHECK(x) do { \ #define ESP_ERROR_CHECK(x) do { \
esp_err_t __err_rc = (x); \ esp_err_t __err_rc = (x); \
if (__err_rc != ESP_OK) { \ if (__err_rc != ESP_OK) { \

View File

@ -15,7 +15,7 @@
#include "sdkconfig.h" #include "sdkconfig.h"
#include "esp_system.h" #include "esp_system.h"
#if CONFIG_STACK_CHECK #if CONFIG_COMPILER_STACK_CHECK
#define LOG_LOCAL_LEVEL CONFIG_LOG_DEFAULT_LEVEL #define LOG_LOCAL_LEVEL CONFIG_LOG_DEFAULT_LEVEL
#include "esp_log.h" #include "esp_log.h"

View File

@ -410,7 +410,7 @@ menu "FreeRTOS"
config FREERTOS_TASK_FUNCTION_WRAPPER config FREERTOS_TASK_FUNCTION_WRAPPER
bool "Enclose all task functions in a wrapper function" bool "Enclose all task functions in a wrapper function"
depends on OPTIMIZATION_LEVEL_DEBUG depends on COMPILER_OPTIMIZATION_LEVEL_DEBUG
default y default y
help help
If enabled, all FreeRTOS task functions will be enclosed in a wrapper function. If enabled, all FreeRTOS task functions will be enclosed in a wrapper function.

View File

@ -48,9 +48,9 @@ inline static void multi_heap_assert(bool condition, const char *format, int lin
*/ */
#ifndef NDEBUG #ifndef NDEBUG
if(!condition) { if(!condition) {
#ifndef CONFIG_OPTIMIZATION_ASSERTIONS_SILENT #ifndef CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT
ets_printf(format, line, address); ets_printf(format, line, address);
#endif // CONFIG_OPTIMIZATION_ASSERTIONS_SILENT #endif // CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT
abort(); abort();
} }
#else // NDEBUG #else // NDEBUG

View File

@ -22,7 +22,7 @@
#include_next <assert.h> #include_next <assert.h>
#if defined(CONFIG_OPTIMIZATION_ASSERTIONS_SILENT) && !defined(NDEBUG) #if defined(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT) && !defined(NDEBUG)
#undef assert #undef assert
#define assert(__e) ((__e) ? (void)0 : abort()) #define assert(__e) ((__e) ? (void)0 : abort())
#endif #endif

View File

@ -114,9 +114,9 @@ Error handling patterns
C++ Exceptions C++ Exceptions
-------------- --------------
Support for C++ Exceptions in ESP-IDF is disabled by default, but can be enabled using :ref:`CONFIG_CXX_EXCEPTIONS` option. Support for C++ Exceptions in ESP-IDF is disabled by default, but can be enabled using :ref:`CONFIG_COMPILER_CXX_EXCEPTIONS` option.
Enabling exception handling normally increases application binary size by a few kB. Additionally it may be necessary to reserve some amount of RAM for exception emergency pool. Memory from this pool will be used if it is not possible to allocate exception object from the heap. Amount of memory in the emergency pool can be set using :ref:`CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE` variable. Enabling exception handling normally increases application binary size by a few kB. Additionally it may be necessary to reserve some amount of RAM for exception emergency pool. Memory from this pool will be used if it is not possible to allocate exception object from the heap. Amount of memory in the emergency pool can be set using :ref:`CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE` variable.
If an exception is thrown, but there is no ``catch`` block, the program will be terminated by ``abort`` function, and backtrace will be printed. See :doc:`Fatal Errors <fatal-errors>` for more information about backtraces. If an exception is thrown, but there is no ``catch`` block, the program will be terminated by ``abort`` function, and backtrace will be printed. See :doc:`Fatal Errors <fatal-errors>` for more information about backtraces.

View File

@ -283,7 +283,7 @@ Consult :doc:`Heap Memory Debugging <../api-reference/system/heap_debug>` docume
Stack Smashing Stack Smashing
^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
Stack smashing protection (based on GCC ``-fstack-protector*`` flags) can be enabled in ESP-IDF using :ref:`CONFIG_STACK_CHECK_MODE` option. If stack smashing is detected, message similar to the following will be printed:: Stack smashing protection (based on GCC ``-fstack-protector*`` flags) can be enabled in ESP-IDF using :ref:`CONFIG_COMPILER_STACK_CHECK_MODE` option. If stack smashing is detected, message similar to the following will be printed::
Stack smashing protect failure! Stack smashing protect failure!

View File

@ -126,8 +126,8 @@ ESP-IDF 中大多数函数会返回 :cpp:type:`esp_err_t` 类型的错误码,
C++ 异常 C++ 异常
-------- --------
默认情况下ESP-IDF 会禁用对 C++ 异常的支持,但是可以通过 :ref:`CONFIG_CXX_EXCEPTIONS` 选项启用。 默认情况下ESP-IDF 会禁用对 C++ 异常的支持,但是可以通过 :ref:`CONFIG_COMPILER_CXX_EXCEPTIONS` 选项启用。
通常情况下,启用异常处理会让应用程序的二进制文件增加几 kB。此外启用该功能时还应为异常事故池预留一定内存。当应用程序无法从堆中分配异常对象时就可以使用这个池中的内存。该内存池的大小可以通过 :ref:`CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE` 来设定。 通常情况下,启用异常处理会让应用程序的二进制文件增加几 kB。此外启用该功能时还应为异常事故池预留一定内存。当应用程序无法从堆中分配异常对象时就可以使用这个池中的内存。该内存池的大小可以通过 :ref:`CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE` 来设定。
如果 C++ 程序抛出了异常,但是程序中并没有 ``catch`` 代码块来捕获该异常,那么程序的运行就会被 ``abort`` 函数中止,然后打印回溯信息。有关回溯的更多信息,请参阅 :doc:`不可恢复错误 <fatal-errors>` 如果 C++ 程序抛出了异常,但是程序中并没有 ``catch`` 代码块来捕获该异常,那么程序的运行就会被 ``abort`` 函数中止,然后打印回溯信息。有关回溯的更多信息,请参阅 :doc:`不可恢复错误 <fatal-errors>`

View File

@ -4,9 +4,9 @@
This example demonstrates usage of C++ exceptions in ESP-IDF. This example demonstrates usage of C++ exceptions in ESP-IDF.
By default, C++ exceptions support is disabled in ESP-IDF. It can be enabled using `CONFIG_CXX_EXCEPTIONS` configuration option. By default, C++ exceptions support is disabled in ESP-IDF. It can be enabled using `CONFIG_COMPILER_CXX_EXCEPTIONS` configuration option.
In this example, `sdkconfig.defaults` file sets `CONFIG_CXX_EXCEPTIONS` option. This enables both compile time support (`-fexceptions` compiler flag) and run-time support for C++ exception handling. In this example, `sdkconfig.defaults` file sets `CONFIG_COMPILER_CXX_EXCEPTIONS` option. This enables both compile time support (`-fexceptions` compiler flag) and run-time support for C++ exception handling.
Example source code declares a class which can throw exception from the constructor, depending on the argument. It illustrates that exceptions can be thrown and caught using standard C++ facilities. Example source code declares a class which can throw exception from the constructor, depending on the argument. It illustrates that exceptions can be thrown and caught using standard C++ facilities.

View File

@ -1,3 +1,3 @@
# Enable C++ exceptions and set emergency pool size for exception objects # Enable C++ exceptions and set emergency pool size for exception objects
CONFIG_CXX_EXCEPTIONS=y CONFIG_COMPILER_CXX_EXCEPTIONS=y
CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE=1024 CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE=1024

View File

@ -375,7 +375,7 @@ COMMON_WARNING_FLAGS = -Wall -Werror=all \
-Wextra \ -Wextra \
-Wno-unused-parameter -Wno-sign-compare -Wno-unused-parameter -Wno-sign-compare
ifdef CONFIG_DISABLE_GCC8_WARNINGS ifdef CONFIG_COMPILER_DISABLE_GCC8_WARNINGS
COMMON_WARNING_FLAGS += -Wno-parentheses \ COMMON_WARNING_FLAGS += -Wno-parentheses \
-Wno-sizeof-pointer-memaccess \ -Wno-sizeof-pointer-memaccess \
-Wno-clobbered \ -Wno-clobbered \
@ -391,9 +391,9 @@ COMMON_WARNING_FLAGS += -Wno-parentheses \
-Wno-int-in-bool-context -Wno-int-in-bool-context
endif endif
ifdef CONFIG_WARN_WRITE_STRINGS ifdef CONFIG_COMPILER_WARN_WRITE_STRINGS
COMMON_WARNING_FLAGS += -Wwrite-strings COMMON_WARNING_FLAGS += -Wwrite-strings
endif #CONFIG_WARN_WRITE_STRINGS endif #CONFIG_COMPILER_WARN_WRITE_STRINGS
# Flags which control code generation and dependency generation, both for C and C++ # Flags which control code generation and dependency generation, both for C and C++
COMMON_FLAGS = \ COMMON_FLAGS = \
@ -405,25 +405,25 @@ COMMON_FLAGS = \
ifndef IS_BOOTLOADER_BUILD ifndef IS_BOOTLOADER_BUILD
# stack protection (only one option can be selected in menuconfig) # stack protection (only one option can be selected in menuconfig)
ifdef CONFIG_STACK_CHECK_NORM ifdef CONFIG_COMPILER_STACK_CHECK_MODE_NORM
COMMON_FLAGS += -fstack-protector COMMON_FLAGS += -fstack-protector
endif endif
ifdef CONFIG_STACK_CHECK_STRONG ifdef CONFIG_COMPILER_STACK_CHECK_MODE_STRONG
COMMON_FLAGS += -fstack-protector-strong COMMON_FLAGS += -fstack-protector-strong
endif endif
ifdef CONFIG_STACK_CHECK_ALL ifdef CONFIG_COMPILER_STACK_CHECK_MODE_ALL
COMMON_FLAGS += -fstack-protector-all COMMON_FLAGS += -fstack-protector-all
endif endif
endif endif
# Optimization flags are set based on menuconfig choice # Optimization flags are set based on menuconfig choice
ifdef CONFIG_OPTIMIZATION_LEVEL_RELEASE ifdef CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE
OPTIMIZATION_FLAGS = -Os OPTIMIZATION_FLAGS = -Os
else else
OPTIMIZATION_FLAGS = -Og OPTIMIZATION_FLAGS = -Og
endif endif
ifdef CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED ifdef CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE
CPPFLAGS += -DNDEBUG CPPFLAGS += -DNDEBUG
endif endif
@ -459,7 +459,7 @@ CXXFLAGS := $(strip \
$(CXXFLAGS) \ $(CXXFLAGS) \
$(EXTRA_CXXFLAGS)) $(EXTRA_CXXFLAGS))
ifdef CONFIG_CXX_EXCEPTIONS ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
CXXFLAGS += -fexceptions CXXFLAGS += -fexceptions
else else
CXXFLAGS += -fno-exceptions CXXFLAGS += -fno-exceptions

View File

@ -5,3 +5,22 @@
CONFIG_TOOLPREFIX CONFIG_SDK_TOOLPREFIX CONFIG_TOOLPREFIX CONFIG_SDK_TOOLPREFIX
CONFIG_PYTHON CONFIG_SDK_PYTHON CONFIG_PYTHON CONFIG_SDK_PYTHON
CONFIG_MAKE_WARN_UNDEFINED_VARIABLES CONFIG_SDK_MAKE_WARN_UNDEFINED_VARIABLES CONFIG_MAKE_WARN_UNDEFINED_VARIABLES CONFIG_SDK_MAKE_WARN_UNDEFINED_VARIABLES
# Compiler options
CONFIG_OPTIMIZATION_COMPILER CONFIG_COMPILER_OPTIMIZATION
CONFIG_OPTIMIZATION_LEVEL_DEBUG CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG
CONFIG_OPTIMIZATION_LEVEL_RELEASE CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE
CONFIG_OPTIMIZATION_ASSERTION_LEVEL CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL
CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE
CONFIG_OPTIMIZATION_ASSERTIONS_SILENT CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT
CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE
CONFIG_CXX_EXCEPTIONS CONFIG_COMPILER_CXX_EXCEPTIONS
CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE
CONFIG_STACK_CHECK_MODE CONFIG_COMPILER_STACK_CHECK_MODE
CONFIG_STACK_CHECK_NONE CONFIG_COMPILER_STACK_CHECK_MODE_NONE
CONFIG_STACK_CHECK_NORM CONFIG_COMPILER_STACK_CHECK_MODE_NORM
CONFIG_STACK_CHECK_STRONG CONFIG_COMPILER_STACK_CHECK_MODE_STRONG
CONFIG_STACK_CHECK_ALL CONFIG_COMPILER_STACK_CHECK_MODE_ALL
CONFIG_STACK_CHECK CONFIG_COMPILER_STACK_CHECK
CONFIG_WARN_WRITE_STRINGS CONFIG_COMPILER_WARN_WRITE_STRINGS
CONFIG_DISABLE_GCC8_WARNINGS CONFIG_COMPILER_DISABLE_GCC8_WARNINGS

View File

@ -41,11 +41,9 @@ IGNORE_DIRS = (
SPACES_PER_INDENT = 4 SPACES_PER_INDENT = 4
# TODO decrease the value (after the names have been refactored) CONFIG_NAME_MAX_LENGTH = 40
CONFIG_NAME_MAX_LENGTH = 60
# TODO increase prefix length (after the names have been refactored) CONFIG_NAME_MIN_PREFIX_LENGTH = 4
CONFIG_NAME_MIN_PREFIX_LENGTH = 0
# The checker will not fail if it encounters this string (it can be used for temporarily resolve conflicts) # The checker will not fail if it encounters this string (it can be used for temporarily resolve conflicts)
RE_NOERROR = re.compile(r'\s+#\s+NOERROR\s+$') RE_NOERROR = re.compile(r'\s+#\s+NOERROR\s+$')

View File

@ -84,18 +84,18 @@ CONFIG_PARTITION_TABLE_MD5=y
# #
# Compiler options # Compiler options
# #
CONFIG_OPTIMIZATION_LEVEL_DEBUG=y CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y
CONFIG_OPTIMIZATION_LEVEL_RELEASE= CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=
CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
CONFIG_OPTIMIZATION_ASSERTIONS_SILENT= CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=
CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED= CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=
CONFIG_CXX_EXCEPTIONS= CONFIG_COMPILER_CXX_EXCEPTIONS=
CONFIG_STACK_CHECK_NONE=y CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
CONFIG_STACK_CHECK_NORM= CONFIG_COMPILER_STACK_CHECK_MODE_NORM=
CONFIG_STACK_CHECK_STRONG= CONFIG_COMPILER_STACK_CHECK_MODE_STRONG=
CONFIG_STACK_CHECK_ALL= CONFIG_COMPILER_STACK_CHECK_MODE_ALL=
CONFIG_STACK_CHECK= CONFIG_COMPILER_STACK_CHECK=
CONFIG_WARN_WRITE_STRINGS= CONFIG_COMPILER_WARN_WRITE_STRINGS=
# #
# Component config # Component config

View File

@ -1,3 +1,3 @@
TEST_EXCLUDE_COMPONENTS=bt app_update TEST_EXCLUDE_COMPONENTS=bt app_update
CONFIG_OPTIMIZATION_LEVEL_RELEASE=y CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y
CONFIG_OPTIMIZATION_ASSERTIONS_SILENT=y CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=y

View File

@ -21,12 +21,12 @@ CONFIG_ULP_COPROC_ENABLED=y
CONFIG_TASK_WDT=n CONFIG_TASK_WDT=n
CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS=y CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS=y
CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=7 CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=7
CONFIG_STACK_CHECK_STRONG=y CONFIG_COMPILER_STACK_CHECK_MODE_STRONG=y
CONFIG_STACK_CHECK=y CONFIG_COMPILER_STACK_CHECK=y
CONFIG_SUPPORT_STATIC_ALLOCATION=y CONFIG_SUPPORT_STATIC_ALLOCATION=y
CONFIG_ESP_TIMER_PROFILING=y CONFIG_ESP_TIMER_PROFILING=y
CONFIG_ADC2_DISABLE_DAC=n CONFIG_ADC2_DISABLE_DAC=n
CONFIG_WARN_WRITE_STRINGS=y CONFIG_COMPILER_WARN_WRITE_STRINGS=y
CONFIG_SPI_MASTER_IN_IRAM=y CONFIG_SPI_MASTER_IN_IRAM=y
CONFIG_EFUSE_VIRTUAL=y CONFIG_EFUSE_VIRTUAL=y
CONFIG_SPIRAM_BANKSWITCH_ENABLE=n CONFIG_SPIRAM_BANKSWITCH_ENABLE=n