Messages in this thread Patch in this message | | | From | Sergei Trofimovich <> | Subject | [PATCH v2] Makefile: enable -Werror=implicit-int and -Werror=strict-prototypes by default | Date | Thu, 15 Aug 2013 21:37:31 +0300 |
| |
The common error type found in forward-ported/backported patches is missing headers. One recent example (files and function names are mangled):
void foo(){} EXPORT_SYMBOL(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] EXPORT_SYMBOL(foo); foo.c:12345679:5: warning: type defaults to 'int' in declaration of 'EXORT_SYMBOL' [-Werror=implicit-int]
Now it's a fata error. Tested on x86_64 allyesconfig.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Cc: Michal Marek <mmarek@suse.cz> Cc: linux-kbuild@vger.kernel.org Cc: Andrew Morton <akpm@linux-foundation.org> --- Makefile | 5 +++++ 1 file changed, 5 insertions(+)
Change since v1: - use 'cc-option' to respect old gccs - fix typos. Thanks to Oleg Verych
diff --git a/Makefile b/Makefile index 6e48848..53f4776 100644 --- a/Makefile +++ b/Makefile @@ -374,6 +374,11 @@ KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ -Werror-implicit-function-declaration \ -Wno-format-security \ -fno-delete-null-pointer-checks + +# not universally available, but nice to have ones +KBUILD_CFLAGS += $(call cc-option,-Werror=implicit-int) \ + $(call cc-option,-Werror=strict-prototypes) + KBUILD_AFLAGS_KERNEL := KBUILD_CFLAGS_KERNEL := KBUILD_AFLAGS := -D__ASSEMBLY__ -- 1.8.3.2
| |