summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorBorislav Petkov (AMD) <bp@alien8.de>2023-07-05 00:19:51 +0200
committerMasahiro Yamada <masahiroy@kernel.org>2023-07-25 00:59:32 +0900
commitc40e60f00caf18bc382215c79651777eb40f5f9d (patch)
tree3949c068edd675aed39184e6b88283a247c03aee /Makefile
parent6eaae198076080886b9e7d57f4ae06fa782f90ef (diff)
downloadlinux-c40e60f00caf18bc382215c79651777eb40f5f9d.tar.gz
linux-c40e60f00caf18bc382215c79651777eb40f5f9d.tar.bz2
linux-c40e60f00caf18bc382215c79651777eb40f5f9d.zip
kbuild: Enable -Wenum-conversion by default
This diagnostic checks whether there is a type mismatch when converting enums (assign an enum of type A to an enum of type B, for example) and it caught a legit issue recently. The reason it didn't show is because that warning is enabled only with -Wextra with GCC. Clang, however, enables it by default. GCC folks were considering enabling it by default but it was too noisy back then: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78736 Now that due to clang all those warnings have been fixed, enable it with GCC too. allmodconfig tests done with: x86, arm{,64}, powerpc{,64}, riscv crossbuilds. Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Reviewed-by: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile3
1 files changed, 3 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 22e392649b02..d36e5361810f 100644
--- a/Makefile
+++ b/Makefile
@@ -1090,6 +1090,9 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
# Require designated initializers for all marked structures
KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
+# Warn if there is an enum types mismatch
+KBUILD_CFLAGS += $(call cc-option,-Wenum-conversion)
+
# change __FILE__ to the relative path from the srctree
KBUILD_CPPFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)