Re: [PATCH v2] Makefile: add a DEVOPTS flag to get pedantic compilation
flat view
From: Beat Bolli <hidden>
Date: 2018-07-24 06:04:37
On 23.07.18 20:53, Junio C Hamano wrote:
Beat Bolli [off-list ref] writes:quoted
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 ;-)
Then there's a bug in this patch. It should only have an effect if we "make DEVELOPER=Yes DEVOPTS=pedantic". Did you try this?
Remind me if I forget to tweak =no back to =0 before pushing the result out.
No problem, I can send a v3 with this change reverted. Beat
Thanks.quoted
[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