Skip to content

Commit 82f2bc2

Browse files
nathanchancemasahir0y
authored andcommitted
kbuild: Disable -Wpointer-to-enum-cast
Clang's -Wpointer-to-int-cast deviates from GCC in that it warns when casting to enums. The kernel does this in certain places, such as device tree matches to set the version of the device being used, which allows the kernel to avoid using a gigantic union. https://elixir.bootlin.com/linux/v5.5.8/source/drivers/ata/ahci_brcm.c#L428 https://elixir.bootlin.com/linux/v5.5.8/source/drivers/ata/ahci_brcm.c#L402 https://elixir.bootlin.com/linux/v5.5.8/source/include/linux/mod_devicetable.h#L264 To avoid a ton of false positive warnings, disable this particular part of the warning, which has been split off into a separate diagnostic so that the entire warning does not need to be turned off for clang. It will be visible under W=1 in case people want to go about fixing these easily and enabling the warning treewide. Cc: stable@vger.kernel.org Link: ClangBuiltLinux#887 Link: llvm/llvm-project@2a41b31 Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
1 parent 2eebb7a commit 82f2bc2

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

scripts/Makefile.extrawarn

+1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ KBUILD_CFLAGS += -Wno-initializer-overrides
4848
KBUILD_CFLAGS += -Wno-format
4949
KBUILD_CFLAGS += -Wno-sign-compare
5050
KBUILD_CFLAGS += -Wno-format-zero-length
51+
KBUILD_CFLAGS += $(call cc-disable-warning, pointer-to-enum-cast)
5152
endif
5253

5354
endif

0 commit comments

Comments
 (0)