]> granicus.if.org Git - esp-idf/commitdiff
build system: and gcc8 warnings compatibility option
authorAnton Maklakov <anton@espressif.com>
Mon, 27 Aug 2018 03:03:15 +0000 (11:03 +0800)
committerAnton Maklakov <anton@espressif.com>
Thu, 20 Sep 2018 10:53:14 +0000 (18:53 +0800)
Kconfig
make/project.mk

diff --git a/Kconfig b/Kconfig
index ff1a6d01749f2d9baa00e04e280a026d79bbe5db..98e5f2a9e9fdd90f9c7847870d7f0198879eab5d 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -176,6 +176,13 @@ config WARN_WRITE_STRINGS
         For C++, this warns about the deprecated conversion from string
         literals to ``char *``.
 
+config DISABLE_GCC8_WARNINGS
+    bool "Disable new warnings introduced in GCC 6 - 8"
+    default "n"
+    help
+        Enable this option if using GCC 6 or newer, and wanting to disable warnings which don't appear with GCC 5.
+
+
 endmenu # Compiler Options
 
 menu "Component config"
index f78958d0bdadbb069be43f127bb1cdc7a54cabfe..acb240386d546a92db2d33fa3c3f01e333016b6f 100644 (file)
@@ -273,10 +273,28 @@ COMMON_WARNING_FLAGS = -Wall -Werror=all \
        -Wno-error=unused-function \
        -Wno-error=unused-but-set-variable \
        -Wno-error=unused-variable \
+       -Wno-error=unused-const-variable \
        -Wno-error=deprecated-declarations \
        -Wextra \
        -Wno-unused-parameter -Wno-sign-compare
 
+ifdef CONFIG_DISABLE_GCC8_WARNINGS
+COMMON_WARNING_FLAGS += -Wno-parentheses \
+       -Wno-sizeof-pointer-memaccess \
+       -Wno-clobbered \
+       -Wno-format-overflow \
+       -Wno-stringop-truncation \
+       -Wno-misleading-indentation \
+       -Wno-cast-function-type \
+       -Wno-implicit-fallthrough \
+       -Wno-unused-const-variable \
+       -Wno-switch-unreachable \
+       -Wno-format-truncation \
+       -Wno-memset-elt-size \
+       -Wno-int-in-bool-context
+endif
+
+
 ifdef CONFIG_WARN_WRITE_STRINGS
 COMMON_WARNING_FLAGS += -Wwrite-strings
 endif #CONFIG_WARN_WRITE_STRINGS