mirror of
https://github.com/git/git.git
synced 2024-11-29 04:54:56 +08:00
26d2e4fb22
Change DEVOPTS to understand a "extra-all" option. When the DEVELOPER flag is enabled we turn on -Wextra, but manually switch some of the warnings it turns on off. This is because we have many existing occurrences of them in the code base. This mode will stop the suppression, let the developer see and decide whether to fix them. This change is a slight alteration of Nguyễn Thái Ngọc Duy EAGER_DEVELOPER mode patch[1] 1. "[PATCH v3 3/3] Makefile: add EAGER_DEVELOPER mode" (<20180329150322.10722-4-pclouds@gmail.com>; https://public-inbox.org/git/20180329150322.10722-4-pclouds@gmail.com/) Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
43 lines
1.3 KiB
Plaintext
43 lines
1.3 KiB
Plaintext
ifeq ($(filter no-error,$(DEVOPTS)),)
|
|
CFLAGS += -Werror
|
|
endif
|
|
CFLAGS += -Wdeclaration-after-statement
|
|
CFLAGS += -Wno-format-zero-length
|
|
CFLAGS += -Wold-style-definition
|
|
CFLAGS += -Woverflow
|
|
CFLAGS += -Wpointer-arith
|
|
CFLAGS += -Wstrict-prototypes
|
|
CFLAGS += -Wunused
|
|
CFLAGS += -Wvla
|
|
|
|
ifndef COMPILER_FEATURES
|
|
COMPILER_FEATURES := $(shell ./detect-compiler $(CC))
|
|
endif
|
|
|
|
ifneq ($(filter clang4,$(COMPILER_FEATURES)),)
|
|
CFLAGS += -Wtautological-constant-out-of-range-compare
|
|
endif
|
|
|
|
ifneq ($(or $(filter gcc6,$(COMPILER_FEATURES)),$(filter clang4,$(COMPILER_FEATURES))),)
|
|
CFLAGS += -Wextra
|
|
# if a function is public, there should be a prototype and the right
|
|
# header file should be included. If not, it should be static.
|
|
CFLAGS += -Wmissing-prototypes
|
|
ifeq ($(filter extra-all,$(DEVOPTS)),)
|
|
# These are disabled because we have these all over the place.
|
|
CFLAGS += -Wno-empty-body
|
|
CFLAGS += -Wno-missing-field-initializers
|
|
CFLAGS += -Wno-sign-compare
|
|
CFLAGS += -Wno-unused-function
|
|
CFLAGS += -Wno-unused-parameter
|
|
endif
|
|
endif
|
|
|
|
# uninitialized warnings on gcc 4.9.2 in xdiff/xdiffi.c and config.c
|
|
# not worth fixing since newer compilers correctly stop complaining
|
|
ifneq ($(filter gcc4,$(COMPILER_FEATURES)),)
|
|
ifeq ($(filter gcc5,$(COMPILER_FEATURES)),)
|
|
CFLAGS += -Wno-uninitialized
|
|
endif
|
|
endif
|