Messages in this thread | | | Date | Thu, 31 Jul 2014 10:18:14 +0200 | From | Michal Marek <> | Subject | Re: [PATCH v2] kbuild, LLVMLinux: Supress warnings unless W=1-3 |
| |
Dne 31.7.2014 06:16, behanw@converseincode.com napsal(a): > From: Behan Webster <behanw@converseincode.com> > > clang has more warnings enabled by default. Turn them off unless W is set. > This patch fixes a logic bug where warnings in clang were disabled when W was set. > > Signed-off-by: Behan Webster <behanw@converseincode.com> > Signed-off-by: Jan-Simon Möller <dl9pf@gmx.de> > Signed-off-by: Mark Charlebois <charlebm@gmail.com> > Cc: mmarek@suse.cz > Cc: bp@alien8.de > --- > Makefile | 1 + > scripts/Makefile.extrawarn | 22 ++++++++++++---------- > 2 files changed, 13 insertions(+), 10 deletions(-) > > diff --git a/Makefile b/Makefile > index f6a7794..f343e17 100644 > --- a/Makefile > +++ b/Makefile > @@ -668,6 +668,7 @@ KBUILD_CFLAGS += $(call cc-disable-warning, tautological-compare) > # source of a reference will be _MergedGlobals and not on of the whitelisted names. > # See modpost pattern 2 > KBUILD_CFLAGS += $(call cc-option, -mno-global-merge,) > +KBUILD_CFLAGS += $(call cc-option, -fcatch-undefined-behavior) > else > > # This warning generated too much noise in a regular build. > diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn > index 6564350..b5b0751 100644 > --- a/scripts/Makefile.extrawarn > +++ b/scripts/Makefile.extrawarn > @@ -26,16 +26,6 @@ warning-1 += $(call cc-option, -Wmissing-include-dirs) > warning-1 += $(call cc-option, -Wunused-but-set-variable) > warning-1 += $(call cc-disable-warning, missing-field-initializers) > > -# Clang > -warning-1 += $(call cc-disable-warning, initializer-overrides) > -warning-1 += $(call cc-disable-warning, unused-value) > -warning-1 += $(call cc-disable-warning, format) > -warning-1 += $(call cc-disable-warning, unknown-warning-option) > -warning-1 += $(call cc-disable-warning, sign-compare) > -warning-1 += $(call cc-disable-warning, format-zero-length) > -warning-1 += $(call cc-disable-warning, uninitialized) > -warning-1 += $(call cc-option, -fcatch-undefined-behavior) > -
OK.
> warning-2 := -Waggregate-return > warning-2 += -Wcast-align > warning-2 += -Wdisabled-optimization > @@ -55,6 +45,18 @@ warning-3 += -Wswitch-default > warning-3 += $(call cc-option, -Wpacked-bitfield-compat) > warning-3 += $(call cc-option, -Wvla) > > +ifeq ($(COMPILER),clang) > +ifndef $(W) > +KBUILD_CFLAGS += $(call cc-disable-warning, initializer-overrides) > +KBUILD_CFLAGS += $(call cc-disable-warning, unused-value) > +KBUILD_CFLAGS += $(call cc-disable-warning, format) > +KBUILD_CFLAGS += $(call cc-disable-warning, unknown-warning-option) > +KBUILD_CFLAGS += $(call cc-disable-warning, sign-compare) > +KBUILD_CFLAGS += $(call cc-disable-warning, format-zero-length) > +KBUILD_CFLAGS += $(call cc-disable-warning, uninitialized) > +endif > +endif > +
Please remove this part, it has no effect. I assume that if it works for you, these warning are not as annoying so they do not need to be disabled?
Thanks, Michal -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |