summaryrefslogtreecommitdiff
path: root/scripts/Makefile.extrawarn
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2022-09-22 13:54:20 +0200
committerTakashi Iwai <tiwai@suse.de>2022-09-22 13:54:20 +0200
commitaf45a0d32df9c8f5abbbc7401d70ffa296c8cef6 (patch)
treef162ece8fa7d94374d15801d614849db649282ac /scripts/Makefile.extrawarn
parentb5eee17cf7ddaf7b29a031b2c48277038e7a171a (diff)
parentc35fbea48659ec99a4f532c9ee9e8692405afdd0 (diff)
Merge branch 'for-linus' into for-next
Diffstat (limited to 'scripts/Makefile.extrawarn')
-rw-r--r--scripts/Makefile.extrawarn12
1 files changed, 12 insertions, 0 deletions
diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn
index 0621c39a3955..6ae482158bc4 100644
--- a/scripts/Makefile.extrawarn
+++ b/scripts/Makefile.extrawarn
@@ -47,7 +47,19 @@ else
ifdef CONFIG_CC_IS_CLANG
KBUILD_CFLAGS += -Wno-initializer-overrides
+# Clang before clang-16 would warn on default argument promotions.
+ifeq ($(shell [ $(CONFIG_CLANG_VERSION) -lt 160000 ] && echo y),y)
+# Disable -Wformat
KBUILD_CFLAGS += -Wno-format
+# Then re-enable flags that were part of the -Wformat group that aren't
+# problematic.
+KBUILD_CFLAGS += -Wformat-extra-args -Wformat-invalid-specifier
+KBUILD_CFLAGS += -Wformat-zero-length -Wnonnull
+# Requires clang-12+.
+ifeq ($(shell [ $(CONFIG_CLANG_VERSION) -ge 120000 ] && echo y),y)
+KBUILD_CFLAGS += -Wformat-insufficient-args
+endif
+endif
KBUILD_CFLAGS += -Wno-sign-compare
KBUILD_CFLAGS += $(call cc-disable-warning, pointer-to-enum-cast)
KBUILD_CFLAGS += -Wno-tautological-constant-out-of-range-compare