diff options
author | Masahiro Yamada <yamada.m@jp.panasonic.com> | 2014-04-14 05:27:10 -0400 |
---|---|---|
committer | Michal Marek <mmarek@suse.cz> | 2014-04-16 17:28:41 -0400 |
commit | a86fe3537350613c0181ce936884036a9695ceea (patch) | |
tree | 7572e2131dc2c9e014c4c22302336c5812912393 /scripts/Makefile.build | |
parent | c9eaa447e77efe77b7fa4c953bd62de8297fd6c5 (diff) |
kbuild: move extra gcc checks to scripts/Makefile.extrawarn
W=... provides extra gcc checks.
Having such code in scripts/Makefile.build results in the same flags
being added to KBUILD_CFLAGS multiple times becuase
scripts/Makefile.build is invoked every time Kbuild descends into
the subdirectories.
Since the top Makefile is already too cluttered, this commit moves
all of extra gcc check stuff to a new file scripts/Makefile.extrawarn,
which is included from the top Makefile.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
CC: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Diffstat (limited to 'scripts/Makefile.build')
-rw-r--r-- | scripts/Makefile.build | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/scripts/Makefile.build b/scripts/Makefile.build index 003bc263105a..b5e02b669469 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build | |||
@@ -50,67 +50,6 @@ ifeq ($(KBUILD_NOPEDANTIC),) | |||
50 | endif | 50 | endif |
51 | endif | 51 | endif |
52 | 52 | ||
53 | # | ||
54 | # make W=... settings | ||
55 | # | ||
56 | # W=1 - warnings that may be relevant and does not occur too often | ||
57 | # W=2 - warnings that occur quite often but may still be relevant | ||
58 | # W=3 - the more obscure warnings, can most likely be ignored | ||
59 | # | ||
60 | # $(call cc-option, -W...) handles gcc -W.. options which | ||
61 | # are not supported by all versions of the compiler | ||
62 | ifdef KBUILD_ENABLE_EXTRA_GCC_CHECKS | ||
63 | warning- := $(empty) | ||
64 | |||
65 | warning-1 := -Wextra -Wunused -Wno-unused-parameter | ||
66 | warning-1 += -Wmissing-declarations | ||
67 | warning-1 += -Wmissing-format-attribute | ||
68 | warning-1 += $(call cc-option, -Wmissing-prototypes) | ||
69 | warning-1 += -Wold-style-definition | ||
70 | warning-1 += $(call cc-option, -Wmissing-include-dirs) | ||
71 | warning-1 += $(call cc-option, -Wunused-but-set-variable) | ||
72 | warning-1 += $(call cc-disable-warning, missing-field-initializers) | ||
73 | |||
74 | # Clang | ||
75 | warning-1 += $(call cc-disable-warning, initializer-overrides) | ||
76 | warning-1 += $(call cc-disable-warning, unused-value) | ||
77 | warning-1 += $(call cc-disable-warning, format) | ||
78 | warning-1 += $(call cc-disable-warning, unknown-warning-option) | ||
79 | warning-1 += $(call cc-disable-warning, sign-compare) | ||
80 | warning-1 += $(call cc-disable-warning, format-zero-length) | ||
81 | warning-1 += $(call cc-disable-warning, uninitialized) | ||
82 | warning-1 += $(call cc-option, -fcatch-undefined-behavior) | ||
83 | |||
84 | warning-2 := -Waggregate-return | ||
85 | warning-2 += -Wcast-align | ||
86 | warning-2 += -Wdisabled-optimization | ||
87 | warning-2 += -Wnested-externs | ||
88 | warning-2 += -Wshadow | ||
89 | warning-2 += $(call cc-option, -Wlogical-op) | ||
90 | warning-2 += $(call cc-option, -Wmissing-field-initializers) | ||
91 | |||
92 | warning-3 := -Wbad-function-cast | ||
93 | warning-3 += -Wcast-qual | ||
94 | warning-3 += -Wconversion | ||
95 | warning-3 += -Wpacked | ||
96 | warning-3 += -Wpadded | ||
97 | warning-3 += -Wpointer-arith | ||
98 | warning-3 += -Wredundant-decls | ||
99 | warning-3 += -Wswitch-default | ||
100 | warning-3 += $(call cc-option, -Wpacked-bitfield-compat) | ||
101 | warning-3 += $(call cc-option, -Wvla) | ||
102 | |||
103 | warning := $(warning-$(findstring 1, $(KBUILD_ENABLE_EXTRA_GCC_CHECKS))) | ||
104 | warning += $(warning-$(findstring 2, $(KBUILD_ENABLE_EXTRA_GCC_CHECKS))) | ||
105 | warning += $(warning-$(findstring 3, $(KBUILD_ENABLE_EXTRA_GCC_CHECKS))) | ||
106 | |||
107 | ifeq ("$(strip $(warning))","") | ||
108 | $(error W=$(KBUILD_ENABLE_EXTRA_GCC_CHECKS) is unknown) | ||
109 | endif | ||
110 | |||
111 | KBUILD_CFLAGS += $(warning) | ||
112 | endif | ||
113 | |||
114 | include scripts/Makefile.lib | 53 | include scripts/Makefile.lib |
115 | 54 | ||
116 | ifdef host-progs | 55 | ifdef host-progs |