Version:  2.0.40 2.2.26 2.4.37 3.13 3.14 3.15 3.16 3.17 3.18 3.19 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10

Linux/scripts/Makefile.extrawarn

  1 # ==========================================================================
  2 #
  3 # make W=... settings
  4 #
  5 # W=1 - warnings that may be relevant and does not occur too often
  6 # W=2 - warnings that occur quite often but may still be relevant
  7 # W=3 - the more obscure warnings, can most likely be ignored
  8 #
  9 # $(call cc-option, -W...) handles gcc -W.. options which
 10 # are not supported by all versions of the compiler
 11 # ==========================================================================
 12 
 13 ifeq ("$(origin W)", "command line")
 14   export KBUILD_ENABLE_EXTRA_GCC_CHECKS := $(W)
 15 endif
 16 
 17 ifdef KBUILD_ENABLE_EXTRA_GCC_CHECKS
 18 warning-  := $(empty)
 19 
 20 warning-1 := -Wextra -Wunused -Wno-unused-parameter
 21 warning-1 += -Wmissing-declarations
 22 warning-1 += -Wmissing-format-attribute
 23 warning-1 += $(call cc-option, -Wmissing-prototypes)
 24 warning-1 += -Wold-style-definition
 25 warning-1 += $(call cc-option, -Wmissing-include-dirs)
 26 warning-1 += $(call cc-option, -Wunused-but-set-variable)
 27 warning-1 += $(call cc-option, -Wunused-const-variable)
 28 warning-1 += $(call cc-disable-warning, missing-field-initializers)
 29 warning-1 += $(call cc-disable-warning, sign-compare)
 30 
 31 warning-2 := -Waggregate-return
 32 warning-2 += -Wcast-align
 33 warning-2 += -Wdisabled-optimization
 34 warning-2 += -Wnested-externs
 35 warning-2 += -Wshadow
 36 warning-2 += $(call cc-option, -Wlogical-op)
 37 warning-2 += $(call cc-option, -Wmissing-field-initializers)
 38 warning-2 += $(call cc-option, -Wsign-compare)
 39 warning-2 += $(call cc-option, -Wmaybe-uninitialized)
 40 
 41 warning-3 := -Wbad-function-cast
 42 warning-3 += -Wcast-qual
 43 warning-3 += -Wconversion
 44 warning-3 += -Wpacked
 45 warning-3 += -Wpadded
 46 warning-3 += -Wpointer-arith
 47 warning-3 += -Wredundant-decls
 48 warning-3 += -Wswitch-default
 49 warning-3 += $(call cc-option, -Wpacked-bitfield-compat)
 50 warning-3 += $(call cc-option, -Wvla)
 51 
 52 warning := $(warning-$(findstring 1, $(KBUILD_ENABLE_EXTRA_GCC_CHECKS)))
 53 warning += $(warning-$(findstring 2, $(KBUILD_ENABLE_EXTRA_GCC_CHECKS)))
 54 warning += $(warning-$(findstring 3, $(KBUILD_ENABLE_EXTRA_GCC_CHECKS)))
 55 
 56 ifeq ("$(strip $(warning))","")
 57         $(error W=$(KBUILD_ENABLE_EXTRA_GCC_CHECKS) is unknown)
 58 endif
 59 
 60 KBUILD_CFLAGS += $(warning)
 61 else
 62 
 63 ifeq ($(cc-name),clang)
 64 KBUILD_CFLAGS += $(call cc-disable-warning, initializer-overrides)
 65 KBUILD_CFLAGS += $(call cc-disable-warning, unused-value)
 66 KBUILD_CFLAGS += $(call cc-disable-warning, format)
 67 KBUILD_CFLAGS += $(call cc-disable-warning, unknown-warning-option)
 68 KBUILD_CFLAGS += $(call cc-disable-warning, sign-compare)
 69 KBUILD_CFLAGS += $(call cc-disable-warning, format-zero-length)
 70 KBUILD_CFLAGS += $(call cc-disable-warning, uninitialized)
 71 endif
 72 endif

This page was automatically generated by LXR 0.3.1 (source).  •  Linux is a registered trademark of Linus Torvalds  •  Contact us