Dne 31.7.2014 06:16, behanw@xxxxxxxxxxxxxxxxxx napsal(a): > From: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> > > 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@xxxxxxxxxxxxxxxxxx> > Signed-off-by: Jan-Simon Möller <dl9pf@xxxxxx> > Signed-off-by: Mark Charlebois <charlebm@xxxxxxxxx> > Cc: mmarek@xxxxxxx > Cc: bp@xxxxxxxxx > --- > 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-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html