Re: [PATCH v2] Makefile: enable -Werror=implicit-int and -Werror=strict-prototypes by default

Geert Uytterhoeven
2013-08-23T12:18:05Z

On Thu, Aug 15, 2013 at 8:37 PM, Sergei Trofimovich <slyfox@gentoo.org> wrote:
> 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)
> +

This should be _below_ the line

include $(srctree)/arch/$(SRCARCH)/Makefile

, together with the other users of cc-option, else it detects the features of
the host compiler instead of the cross-compiler when cross-compiling:

cc1: error: unrecognized command line option "-Werror=implicit-int"
cc1: error: unrecognized command line option "-Werror=strict-prototypes"

See also commit a1f42beb8e287482d1a802731d4fb7e2bdc2c703
("Makefile: fix up CROSS_COMPILE and READABLE_ASM interaction.").

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds