Commit 80970472 authored by Sergei Trofimovich's avatar Sergei Trofimovich Committed by Michal Marek

Makefile: enable -Werror=implicit-int and -Werror=strict-prototypes by default

The common error found in forward-ported/backported patches is missing
headers.  One recent example (files and function names are mangled):

    void foo(){}

gave only warning

    foo.c:12345678:5: warning: function declaration isn't a prototype [-Wstrict-prototypes]
    void foo(){}

    foo.c:12345679:5: warning: data definition has no type or storage class [enabled by default]
    foo.c:12345679:5: warning: type defaults to 'int' in declaration of 'EXORT_SYMBOL' [-Werror=implicit-int]

Now it's a fatal error. Tested on x86_64 allyesconfig.

[ fix typos in comments]
Signed-off-by: default avatarSergei Trofimovich <>
Cc: Geert Uytterhoeven <>
Signed-off-by: default avatarAndrew Morton <>
Signed-off-by: default avatarMichal Marek <>
parent 272b98c6
......@@ -659,6 +659,12 @@ KBUILD_CFLAGS += $(call cc-option,-fno-strict-overflow)
# conserve stack if available
KBUILD_CFLAGS += $(call cc-option,-fconserve-stack)
# disallow errors like 'EXPORT_GPL(foo);' with missing header
KBUILD_CFLAGS += $(call cc-option,-Werror=implicit-int)
# require functions to have arguments in prototypes, not empty 'int foo()'
KBUILD_CFLAGS += $(call cc-option,-Werror=strict-prototypes)
# use the deterministic mode of AR if available
KBUILD_ARFLAGS := $(call ar-option,D)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment