]> git.ipfire.org Git - thirdparty/git.git/commitdiff
add DEVELOPER makefile knob to check for acknowledged warnings
authorLars Schneider <larsxschneider@gmail.com>
Thu, 25 Feb 2016 08:42:22 +0000 (09:42 +0100)
committerJunio C Hamano <gitster@pobox.com>
Thu, 25 Feb 2016 20:49:45 +0000 (12:49 -0800)
We assume Git developers have a reasonably modern compiler and recommend
them to enable the DEVELOPER makefile knob to ensure their patches are
clear of all compiler warnings the Git core project cares about.

Enable the DEVELOPER makefile knob in the Travis-CI build.

Suggested-by: Jeff King <peff@peff.net>
Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
.travis.yml
Documentation/CodingGuidelines
Makefile

index f8b73ec3da4e998f673296d093a89d8e9e53ba24..78e433ba718df00d112a5f57d523afb8db189c79 100644 (file)
@@ -21,12 +21,12 @@ addons:
 
 env:
   global:
+    - DEVELOPER=1
     - P4_VERSION="15.2"
     - GIT_LFS_VERSION="1.1.0"
     - DEFAULT_TEST_TARGET=prove
     - GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save"
     - GIT_TEST_OPTS="--verbose --tee"
-    - CFLAGS="-g -O2 -Wall -Werror"
     - GIT_TEST_CLONE_2GB=YesPlease
     # t9810 occasionally fails on Travis CI OS X
     # t9816 occasionally fails with "TAP out of sequence errors" on Travis CI OS X
index c6e536f180275c1112e50b3fbd42638c8cae1581..0ddd36879a4b90392b1659025070e1faaed091f1 100644 (file)
@@ -171,6 +171,11 @@ For C programs:
 
  - We try to keep to at most 80 characters per line.
 
+ - As a Git developer we assume you have a reasonably modern compiler
+   and we recommend you to enable the DEVELOPER makefile knob to
+   ensure your patch is clear of all compiler warnings we care about,
+   by e.g. "echo DEVELOPER=1 >>config.mak".
+
  - We try to support a wide range of C compilers to compile Git with,
    including old ones. That means that you should not use C99
    initializers, even if a lot of compilers grok it.
index fc2f1ab2c31820513758514cd445fc63521b1d19..7dc5b88e58840490331034e8de0282cceb3e0d04 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -380,6 +380,18 @@ ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS)
 ALL_LDFLAGS = $(LDFLAGS)
 STRIP ?= strip
 
+ifdef DEVELOPER
+CFLAGS += -Werror \
+       -Wdeclaration-after-statement \
+       -Wno-format-zero-length \
+       -Wold-style-definition \
+       -Woverflow \
+       -Wpointer-arith \
+       -Wstrict-prototypes \
+       -Wunused \
+       -Wvla
+endif
+
 # Create as necessary, replace existing, make ranlib unneeded.
 ARFLAGS = rcs