Blame view
scripts/Makefile.extrawarn
2.61 KB
b24413180
|
1 |
# SPDX-License-Identifier: GPL-2.0 |
a86fe3537
|
2 |
# ========================================================================== |
a86fe3537
|
3 4 |
# make W=... settings # |
64a91907c
|
5 6 |
# There are three warning groups enabled by W=1, W=2, W=3. # They are independent, and can be combined like W=12 or W=123. |
a86fe3537
|
7 |
# ========================================================================== |
321cb0308
|
8 |
KBUILD_CFLAGS += $(call cc-disable-warning, packed-not-aligned) |
e27128db6
|
9 10 |
# backward compatibility KBUILD_EXTRA_WARN ?= $(KBUILD_ENABLE_EXTRA_GCC_CHECKS) |
a86fe3537
|
11 |
ifeq ("$(origin W)", "command line") |
e27128db6
|
12 |
KBUILD_EXTRA_WARN := $(W) |
a86fe3537
|
13 |
endif |
e27128db6
|
14 |
export KBUILD_EXTRA_WARN |
64a91907c
|
15 16 17 |
# # W=1 - warnings which may be relevant and do not occur too often # |
e27128db6
|
18 |
ifneq ($(findstring 1, $(KBUILD_EXTRA_WARN)),) |
a86fe3537
|
19 |
|
64a91907c
|
20 21 22 23 24 25 26 27 28 29 |
KBUILD_CFLAGS += -Wextra -Wunused -Wno-unused-parameter KBUILD_CFLAGS += -Wmissing-declarations KBUILD_CFLAGS += -Wmissing-format-attribute KBUILD_CFLAGS += -Wmissing-prototypes KBUILD_CFLAGS += -Wold-style-definition KBUILD_CFLAGS += -Wmissing-include-dirs KBUILD_CFLAGS += $(call cc-option, -Wunused-but-set-variable) KBUILD_CFLAGS += $(call cc-option, -Wunused-const-variable) KBUILD_CFLAGS += $(call cc-option, -Wpacked-not-aligned) KBUILD_CFLAGS += $(call cc-option, -Wstringop-truncation) |
4c8dd95a7
|
30 |
# The following turn off the warnings enabled by -Wextra |
64a91907c
|
31 32 |
KBUILD_CFLAGS += -Wno-missing-field-initializers KBUILD_CFLAGS += -Wno-sign-compare |
a86fe3537
|
33 |
|
6863f5643
|
34 |
KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN1 |
26ea6bb1f
|
35 |
else |
64a91907c
|
36 37 |
# Some diagnostics enabled by default are noisy. # Suppress them by using -Wno... except for W=1. |
076f421da
|
38 |
ifdef CONFIG_CC_IS_CLANG |
a14943043
|
39 |
KBUILD_CFLAGS += -Wno-initializer-overrides |
a14943043
|
40 41 42 |
KBUILD_CFLAGS += -Wno-format KBUILD_CFLAGS += -Wno-sign-compare KBUILD_CFLAGS += -Wno-format-zero-length |
26ea6bb1f
|
43 |
endif |
64a91907c
|
44 45 46 47 48 49 |
endif # # W=2 - warnings which occur quite often but may still be relevant # |
e27128db6
|
50 |
ifneq ($(findstring 2, $(KBUILD_EXTRA_WARN)),) |
64a91907c
|
51 52 53 54 55 56 57 58 59 60 |
KBUILD_CFLAGS += -Wcast-align KBUILD_CFLAGS += -Wdisabled-optimization KBUILD_CFLAGS += -Wnested-externs KBUILD_CFLAGS += -Wshadow KBUILD_CFLAGS += $(call cc-option, -Wlogical-op) KBUILD_CFLAGS += -Wmissing-field-initializers KBUILD_CFLAGS += -Wsign-compare KBUILD_CFLAGS += $(call cc-option, -Wmaybe-uninitialized) KBUILD_CFLAGS += $(call cc-option, -Wunused-macros) |
6863f5643
|
61 |
KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN2 |
64a91907c
|
62 63 64 65 66 |
endif # # W=3 - more obscure warnings, can most likely be ignored # |
e27128db6
|
67 |
ifneq ($(findstring 3, $(KBUILD_EXTRA_WARN)),) |
64a91907c
|
68 69 70 71 72 73 74 75 76 77 |
KBUILD_CFLAGS += -Wbad-function-cast KBUILD_CFLAGS += -Wcast-qual KBUILD_CFLAGS += -Wconversion KBUILD_CFLAGS += -Wpacked KBUILD_CFLAGS += -Wpadded KBUILD_CFLAGS += -Wpointer-arith KBUILD_CFLAGS += -Wredundant-decls KBUILD_CFLAGS += -Wswitch-default KBUILD_CFLAGS += $(call cc-option, -Wpacked-bitfield-compat) |
6863f5643
|
78 |
KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN3 |
a86fe3537
|
79 |
endif |