Subject: [PATCH] Makefile: add a DEVOPTS flag to get pedantic compilation

From: Beat Bolli <[email-masked]>
Date: Sat, 21 Jul 2018 20:59:33 +0200

In the interest of code hygiene, make it easier to compile Git with the
flag -pedantic.

Pure pedantic compilation results in one warning per use of the
translation macro `N_`, therefore also disable the parenthesising of
i18n strings with -DUSE_PARENS_AROUND_GETTEXT_N=0 to show only real
warnings.

Signed-off-by: Beat Bolli <[email-masked]>
---

This is the convenience knob for all developers that led to the series
bb/pedantic[1]. It does not depend on this series, though.

[1] https://public-inbox.org/git/[email-masked]/T/#u

 Makefile       | 4 ++++
 config.mak.dev | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/Makefile b/Makefile
index 0cb6590f24..f800054379 100644
--- a/Makefile
+++ b/Makefile
@@ -484,6 +484,10 @@ all::
 #        The DEVELOPER mode enables -Wextra with a few exceptions. By
 #        setting this flag the exceptions are removed, and all of
 #        -Wextra is used.
+#
+#    pedantic:
+#
+#        Enable -pedantic compilation.
 
 GIT-VERSION-FILE: FORCE
 	@$(SHELL_PATH) ./GIT-VERSION-GEN
diff --git a/config.mak.dev b/config.mak.dev
index 2d244ca470..f21f0d0209 100644
--- a/config.mak.dev
+++ b/config.mak.dev
@@ -1,6 +1,10 @@
 ifeq ($(filter no-error,$(DEVOPTS)),)
 CFLAGS += -Werror
 endif
+ifneq ($(filter pedantic,$(DEVOPTS)),)
+CFLAGS += -pedantic
+# don't warn for each N_ use
+CFLAGS += -DUSE_PARENS_AROUND_GETTEXT_N=0
+endif
 CFLAGS += -Wdeclaration-after-statement
 CFLAGS += -Wno-format-zero-length
 CFLAGS += -Wold-style-definition
-- 
2.18.0.203.gfac676dfb9