mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	kbuild: avoid duplicate warning options
Some warning options are disabled at one place and then conditionally re-enabled later in scripts/Makefile.extrawarn. For consistency, rework this file so each of those warnings only gets etiher enabled or disabled based on the W= flags but not both. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
		
							parent
							
								
									e88ca24319
								
							
						
					
					
						commit
						2cd3271b7a
					
				
					 1 changed files with 26 additions and 17 deletions
				
			
		| 
						 | 
					@ -56,20 +56,12 @@ KBUILD_CFLAGS += -Wno-pointer-sign
 | 
				
			||||||
# globally built with -Wcast-function-type.
 | 
					# globally built with -Wcast-function-type.
 | 
				
			||||||
KBUILD_CFLAGS += $(call cc-option, -Wcast-function-type)
 | 
					KBUILD_CFLAGS += $(call cc-option, -Wcast-function-type)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# disable stringop warnings in gcc 8+
 | 
					 | 
				
			||||||
KBUILD_CFLAGS += $(call cc-disable-warning, stringop-truncation)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# We'll want to enable this eventually, but it's not going away for 5.7 at least
 | 
					# We'll want to enable this eventually, but it's not going away for 5.7 at least
 | 
				
			||||||
KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overflow)
 | 
					KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overflow)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Another good warning that we'll want to enable eventually
 | 
					# Another good warning that we'll want to enable eventually
 | 
				
			||||||
KBUILD_CFLAGS += $(call cc-disable-warning, restrict)
 | 
					KBUILD_CFLAGS += $(call cc-disable-warning, restrict)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Enabled with W=2, disabled by default as noisy
 | 
					 | 
				
			||||||
ifdef CONFIG_CC_IS_GCC
 | 
					 | 
				
			||||||
KBUILD_CFLAGS += -Wno-maybe-uninitialized
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# The allocators already balk at large sizes, so silence the compiler
 | 
					# The allocators already balk at large sizes, so silence the compiler
 | 
				
			||||||
# warnings for bounds checks involving those possible values. While
 | 
					# warnings for bounds checks involving those possible values. While
 | 
				
			||||||
# -Wno-alloc-size-larger-than would normally be used here, earlier versions
 | 
					# -Wno-alloc-size-larger-than would normally be used here, earlier versions
 | 
				
			||||||
| 
						 | 
					@ -96,8 +88,6 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
 | 
				
			||||||
# Warn if there is an enum types mismatch
 | 
					# Warn if there is an enum types mismatch
 | 
				
			||||||
KBUILD_CFLAGS += $(call cc-option,-Wenum-conversion)
 | 
					KBUILD_CFLAGS += $(call cc-option,-Wenum-conversion)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
KBUILD_CFLAGS += $(call cc-disable-warning, packed-not-aligned)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# backward compatibility
 | 
					# backward compatibility
 | 
				
			||||||
KBUILD_EXTRA_WARN ?= $(KBUILD_ENABLE_EXTRA_GCC_CHECKS)
 | 
					KBUILD_EXTRA_WARN ?= $(KBUILD_ENABLE_EXTRA_GCC_CHECKS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -122,11 +112,6 @@ KBUILD_CFLAGS += $(call cc-option, -Wunused-but-set-variable)
 | 
				
			||||||
KBUILD_CFLAGS += $(call cc-option, -Wunused-const-variable)
 | 
					KBUILD_CFLAGS += $(call cc-option, -Wunused-const-variable)
 | 
				
			||||||
KBUILD_CFLAGS += $(call cc-option, -Wpacked-not-aligned)
 | 
					KBUILD_CFLAGS += $(call cc-option, -Wpacked-not-aligned)
 | 
				
			||||||
KBUILD_CFLAGS += $(call cc-option, -Wstringop-truncation)
 | 
					KBUILD_CFLAGS += $(call cc-option, -Wstringop-truncation)
 | 
				
			||||||
# The following turn off the warnings enabled by -Wextra
 | 
					 | 
				
			||||||
KBUILD_CFLAGS += -Wno-missing-field-initializers
 | 
					 | 
				
			||||||
KBUILD_CFLAGS += -Wno-sign-compare
 | 
					 | 
				
			||||||
KBUILD_CFLAGS += -Wno-type-limits
 | 
					 | 
				
			||||||
KBUILD_CFLAGS += -Wno-shift-negative-value
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
KBUILD_CPPFLAGS += -Wundef
 | 
					KBUILD_CPPFLAGS += -Wundef
 | 
				
			||||||
KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN1
 | 
					KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN1
 | 
				
			||||||
| 
						 | 
					@ -135,9 +120,12 @@ else
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Some diagnostics enabled by default are noisy.
 | 
					# Some diagnostics enabled by default are noisy.
 | 
				
			||||||
# Suppress them by using -Wno... except for W=1.
 | 
					# Suppress them by using -Wno... except for W=1.
 | 
				
			||||||
 | 
					KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable)
 | 
				
			||||||
 | 
					KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable)
 | 
				
			||||||
 | 
					KBUILD_CFLAGS += $(call cc-disable-warning, packed-not-aligned)
 | 
				
			||||||
 | 
					KBUILD_CFLAGS += $(call cc-disable-warning, stringop-truncation)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ifdef CONFIG_CC_IS_CLANG
 | 
					ifdef CONFIG_CC_IS_CLANG
 | 
				
			||||||
KBUILD_CFLAGS += -Wno-initializer-overrides
 | 
					 | 
				
			||||||
# Clang before clang-16 would warn on default argument promotions.
 | 
					# Clang before clang-16 would warn on default argument promotions.
 | 
				
			||||||
ifneq ($(call clang-min-version, 160000),y)
 | 
					ifneq ($(call clang-min-version, 160000),y)
 | 
				
			||||||
# Disable -Wformat
 | 
					# Disable -Wformat
 | 
				
			||||||
| 
						 | 
					@ -151,7 +139,6 @@ ifeq ($(call clang-min-version, 120000),y)
 | 
				
			||||||
KBUILD_CFLAGS += -Wformat-insufficient-args
 | 
					KBUILD_CFLAGS += -Wformat-insufficient-args
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
KBUILD_CFLAGS += -Wno-sign-compare
 | 
					 | 
				
			||||||
KBUILD_CFLAGS += $(call cc-disable-warning, pointer-to-enum-cast)
 | 
					KBUILD_CFLAGS += $(call cc-disable-warning, pointer-to-enum-cast)
 | 
				
			||||||
KBUILD_CFLAGS += -Wno-tautological-constant-out-of-range-compare
 | 
					KBUILD_CFLAGS += -Wno-tautological-constant-out-of-range-compare
 | 
				
			||||||
KBUILD_CFLAGS += $(call cc-disable-warning, unaligned-access)
 | 
					KBUILD_CFLAGS += $(call cc-disable-warning, unaligned-access)
 | 
				
			||||||
| 
						 | 
					@ -173,8 +160,25 @@ KBUILD_CFLAGS += -Wtype-limits
 | 
				
			||||||
KBUILD_CFLAGS += $(call cc-option, -Wmaybe-uninitialized)
 | 
					KBUILD_CFLAGS += $(call cc-option, -Wmaybe-uninitialized)
 | 
				
			||||||
KBUILD_CFLAGS += $(call cc-option, -Wunused-macros)
 | 
					KBUILD_CFLAGS += $(call cc-option, -Wunused-macros)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ifdef CONFIG_CC_IS_CLANG
 | 
				
			||||||
 | 
					KBUILD_CFLAGS += -Winitializer-overrides
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN2
 | 
					KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# The following turn off the warnings enabled by -Wextra
 | 
				
			||||||
 | 
					KBUILD_CFLAGS += -Wno-missing-field-initializers
 | 
				
			||||||
 | 
					KBUILD_CFLAGS += -Wno-type-limits
 | 
				
			||||||
 | 
					KBUILD_CFLAGS += -Wno-shift-negative-value
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ifdef CONFIG_CC_IS_CLANG
 | 
				
			||||||
 | 
					KBUILD_CFLAGS += -Wno-initializer-overrides
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					KBUILD_CFLAGS += -Wno-maybe-uninitialized
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
| 
						 | 
					@ -196,6 +200,11 @@ KBUILD_CFLAGS += $(call cc-option, -Wpacked-bitfield-compat)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN3
 | 
					KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# The following turn off the warnings enabled by -Wextra
 | 
				
			||||||
 | 
					KBUILD_CFLAGS += -Wno-sign-compare
 | 
				
			||||||
 | 
					
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue