Re: [PATCH v2] Makefile: add a DEVOPTS flag to get pedantic compilation
flat view
From: Junio C Hamano <hidden>
Date: 2018-07-23 18:53:44
Beat Bolli [off-list ref] writes:
In the interest of code hygiene, make it easier to compile Git with the
flag -pedantic.
Pure pedantic compilation with GCC 7.3 results in one warning per use of
the translation macro `N_`:
warning: array initialized from parenthesized string constant [-Wpedantic]
Therefore also disable the parenthesising of i18n strings with
-DUSE_PARENS_AROUND_GETTEXT_N=no.
Signed-off-by: Beat Bolli <redacted>
---
This is the convenience knob for all developers that led to the series
bb/pedantic[1]. It does not depend on this series, though.Yup, but "make DEVELOPER=Yes" build won't pass unless this patch is queued after those clean-up ;-) Remind me if I forget to tweak =no back to =0 before pushing the result out. Thanks.
quoted hunk
[1] https://public-inbox.org/git/20180708144342.11922-1-dev+git@drbeat.li/T/#u Makefile | 6 ++++++ config.mak.dev | 5 +++++ 2 files changed, 11 insertions(+)diff --git a/Makefile b/Makefile index 0cb6590f24..2bfc051652 100644 --- a/Makefile +++ b/Makefile@@ -484,6 +484,12 @@ 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. This also disables +# USE_PARENS_AROUND_GETTEXT_N to produce only relevant warnings. GIT-VERSION-FILE: FORCE @$(SHELL_PATH) ./GIT-VERSION-GENdiff --git a/config.mak.dev b/config.mak.dev index 2d244ca470..e11dd94741 100644 --- a/config.mak.dev +++ b/config.mak.dev@@ -1,6 +1,11 @@ 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=no +endif CFLAGS += -Wdeclaration-after-statement CFLAGS += -Wno-format-zero-length CFLAGS += -Wold-style-definition