Beat Bolli <dev+git@xxxxxxxxx> 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 <dev+git@xxxxxxxxx> > --- > > 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. > [1] https://public-inbox.org/git/20180708144342.11922-1-dev+git@xxxxxxxxx/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=no > +endif > CFLAGS += -Wdeclaration-after-statement > CFLAGS += -Wno-format-zero-length > CFLAGS += -Wold-style-definition