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.
Showing the changes to scripts (1 of 2 files). Show all
Unified · Split
| @@ -26,16 +26,6 @@ warning-1 += $(call cc-option, -Wmissing-include-dirs) · 25 unmodified lines | ||
| 26 | 26 | warning-1 += $(call cc-option, -Wunused-but-set-variable) |
| 27 | 27 | warning-1 += $(call cc-disable-warning, missing-field-initializers) |
| 28 | 28 | |
| 29 | −# Clang | |
| 30 | −warning-1 += $(call cc-disable-warning, initializer-overrides) | |
| 31 | −warning-1 += $(call cc-disable-warning, unused-value) | |
| 32 | −warning-1 += $(call cc-disable-warning, format) | |
| 33 | −warning-1 += $(call cc-disable-warning, unknown-warning-option) | |
| 34 | −warning-1 += $(call cc-disable-warning, sign-compare) | |
| 35 | −warning-1 += $(call cc-disable-warning, format-zero-length) | |
| 36 | −warning-1 += $(call cc-disable-warning, uninitialized) | |
| 37 | −warning-1 += $(call cc-option, -fcatch-undefined-behavior) | |
| 38 | − | |
| 39 | 29 | warning-2 := -Waggregate-return |
| 40 | 30 | warning-2 += -Wcast-align |
| 41 | 31 | warning-2 += -Wdisabled-optimization |
| @@ -64,4 +54,15 @@ ifeq ("$(strip $(warning))","") · 22 unmodified lines | ||
| 64 | 54 | endif |
| 65 | 55 | |
| 66 | 56 | KBUILD_CFLAGS += $(warning) |
| 57 | +else | |
| 58 | + | |
| 59 | +ifeq ($(COMPILER),clang) | |
| 60 | +KBUILD_CFLAGS += $(call cc-disable-warning, initializer-overrides) | |
| 61 | +KBUILD_CFLAGS += $(call cc-disable-warning, unused-value) | |
| 62 | +KBUILD_CFLAGS += $(call cc-disable-warning, format) | |
| 63 | +KBUILD_CFLAGS += $(call cc-disable-warning, unknown-warning-option) | |
| 64 | +KBUILD_CFLAGS += $(call cc-disable-warning, sign-compare) | |
| 65 | +KBUILD_CFLAGS += $(call cc-disable-warning, format-zero-length) | |
| 66 | +KBUILD_CFLAGS += $(call cc-disable-warning, uninitialized) | |
| 67 | +endif | |
| 67 | 68 | endif |