Re: [PATCH v2] kbuild, LLVMLinux: Supress warnings unless W=1-3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux