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"
-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