Enable more compiler warnings for devs
Get series with b4
b4 am [email protected]Versions newest first
- v3 Latest3 patches 9 repliesIn review
Patches in v3 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/3 | connect.c: mark die_initial_contact() NORETURNconnect.c | +1 | 0 replies | |
| 2/3 | Makefile: detect compiler and enable more warnings in DEVELOPER=1Makefile config.mak.dev detect-compiler | +96 | 0 replies | |
| 3/3 | Makefile: add EAGER_DEVELOPER modeMakefile config.mak.dev | +10 | 0 replies |
Reviews trailers per patch
None of the 3 patches has a Reviewed-by or Acked-by.
| Patch | Jeff King | Nguyễn Thái Ngọc Duy |
|---|---|---|
| Series | Helped-by | Helped-by |
| 1/3 | ||
| 2/3 | Helped-by | |
| 3/3 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v3 0/3] Enable more compiler warnings for devs
v3 fixes the fallthru warnings in connect.c, and with json-writer series rerolled, 'pu' should build cleanly now. -Wno-maybe-uninitialized is removed, thanks to Ramsay.
v3 also adds an experimental patch that adds EAGER_DEVELOPER=1. These developers will have all warnings enabled (nothing is suppressed) but they are not fatal. They could go through them and perhaps clean up the code base a bit more.
Interdiff
Makefile +6 -1
@@ -434,7 +434,9 @@ all:: # # Define DEVELOPER to enable more compiler warnings. Compiler version # and faimily are auto detected, but could be overridden by defining -# COMPILER_FEATURES (see config.mak.dev) +# COMPILER_FEATURES (see config.mak.dev). +# Define EAGER_DEVELOPER keeps compiler warnings non-fatal, but no warning +# class is suppressed anymore. GIT-VERSION-FILE: FORCE @$(SHELL_PATH) ./GIT-VERSION-GEN
@@ -1041,6 +1043,9 @@ include config.mak.uname -include config.mak.autogen -include config.mak +ifdef EAGER_DEVELOPER +DEVELOPER = Yes +endif ifdef DEVELOPER include config.mak.dev endif
config.mak.dev +14 -2
@@ -1,4 +1,6 @@ +ifndef EAGER_DEVELOPER CFLAGS += -Werror +endif CFLAGS += -Wdeclaration-after-statement CFLAGS += -Wno-format-zero-length CFLAGS += -Wold-style-definition
@@ -18,13 +20,23 @@ 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 +ifndef EAGER_DEVELOPER +# 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 -ifneq ($(filter gcc6,$(COMPILER_FEATURES)),) -CFLAGS += -Wno-maybe-uninitialized +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
connect.c +1 -1
@@ -46,7 +46,7 @@ int check_ref_type(const struct ref *ref, int flags)return check_ref (ref->name, flags); } -static void die_initial_contact (int unexpected) +static NORETURN void die_initial_contact(int unexpected) {if (unexpected)die (_ ("The remote end hung up upon initial contact" ));
Nguyễn Thái Ngọc Duy (3):
connect.c: mark die_initial_contact() NORETURN
Makefile: detect compiler and enable more warnings in DEVELOPER=1
Makefile: add EAGER_DEVELOPER mode
Makefile | 20 +++++++++---------- config.mak.dev | 42 +++++++++++++++++++++++++++++++++++++++ connect.c | 2 +- detect-compiler | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 106 insertions(+), 11 deletions(-) create mode 100644 config.mak.dev create mode 100755 detect-compiler
Signature · 1 line
2.17.0.rc1.439.gca064e2955