[PATCH v4] Makefile: add a DEVOPTS flag to get pedantic compilation
- From
Beat Bolli <dev+git@drbeat.li>
- Date
- Jul 24, 2018, 19:26 UTC
- Message-ID
- <20180724192643.21505-1-dev+git@drbeat.li>
- In-Reply-To
- <20180724171339.18983-1-dev+git@drbeat.li>
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=0.
Signed-off-by: Beat Bolli <dev+git@drbeat.li> ---
Now with -DUSE_PARENS_AROUND_GETTEXT_N=0 instead of =No.
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/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-GEN diff --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=0 +endif CFLAGS += -Wdeclaration-after-statement CFLAGS += -Wno-format-zero-length CFLAGS += -Wold-style-definition
-- 2.18.0.203.gfac676dfb9