Просмотр исходного кода

Enable -Wwrite-strings when compiling IDF's own C files

Roland Dobai 7 лет назад
Родитель
Сommit
33480d1a2c
3 измененных файлов с 19 добавлено и 0 удалено
  1. 14 0
      Kconfig
  2. 4 0
      make/project.mk
  3. 1 0
      tools/unit-test-app/sdkconfig.defaults

+ 14 - 0
Kconfig

@@ -148,6 +148,20 @@ config STACK_CHECK
     help
         Stack smashing protection.
 
+config WARN_WRITE_STRINGS
+    bool "Enable -Wwrite-strings warning flag"
+    default "n"
+    help
+        Adds -Wwrite-strings flag for the C/C++ compilers.
+
+        For C, this gives string constants the type "const char[]" so that
+        copying the address of one into a non-"const" "char *" pointer
+        produces a warning. This warning helps to find at compile time code
+        that tries to write into a string constant.
+
+        For C++, this warns about the deprecated conversion from string
+        literals to "char *".
+
 endmenu # Compiler Options
 
 menu "Component config"

+ 4 - 0
make/project.mk

@@ -267,6 +267,10 @@ COMMON_WARNING_FLAGS = -Wall -Werror=all \
 	-Wextra \
 	-Wno-unused-parameter -Wno-sign-compare
 
+ifdef CONFIG_WARN_WRITE_STRINGS
+COMMON_WARNING_FLAGS += -Wwrite-strings
+endif #CONFIG_WARN_WRITE_STRINGS
+
 # Flags which control code generation and dependency generation, both for C and C++
 COMMON_FLAGS = \
 	-ffunction-sections -fdata-sections \

+ 1 - 0
tools/unit-test-app/sdkconfig.defaults

@@ -26,3 +26,4 @@ CONFIG_STACK_CHECK=y
 CONFIG_SUPPORT_STATIC_ALLOCATION=y
 CONFIG_ESP_TIMER_PROFILING=y
 CONFIG_ADC2_DISABLE_DAC=n
+CONFIG_WARN_WRITE_STRINGS=y