Add a config option "ERROR_ON_WARNING" that adds the "-Werror" flag to
gcc, which turns warnings into errors.

This option enables developers to set a stricter level of code checking
for kernel code: all code must be warning-free.

Signed-off-by: Simon Que <s...@chromium.org>
Signed-off-by: Mandeep Singh Baines <m...@chromium.org>
---
 Makefile          |    4 ++++
 lib/Kconfig.debug |    9 +++++++++
 2 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/Makefile b/Makefile
index a687963..7502f5f 100644
--- a/Makefile
+++ b/Makefile
@@ -620,6 +620,10 @@ endif
 NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
 CHECKFLAGS     += $(NOSTDINC_FLAGS)
 
+ifdef CONFIG_ERROR_ON_WARNING
+KBUILD_CFLAGS += -Werror
+endif
+
 # warn about C99 declaration after statement
 KBUILD_CFLAGS += $(call cc-option,-Wdeclaration-after-statement,)
 
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 83b2558..28005ff 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1305,3 +1305,12 @@ source "lib/Kconfig.kmemcheck"
 
 config TEST_KSTRTOX
        tristate "Test kstrto*() family of functions at runtime"
+
+config ERROR_ON_WARNING
+       bool "Treat compiler warnings as errors"
+       help
+         If you say Y here, the Makefile will pass the "-Werror" option to the
+         compiler.  This will cause the compiler to fail on any warning, as if
+         it were an error.
+
+         If unsure, say N.
-- 
1.7.8.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to