Re: [PATCH v2] Makefile: add a DEVOPTS flag to get pedantic compilation
Beat Bolli writes: > On 23.07.18 20:53, Junio C Hamano wrote: >> >>> 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? Sorry, "exercising the feature" is what I meant to say with that "make" invocation, so I should have also spelled DEVOPTS bit, too.
Re: [PATCH v2] Makefile: add a DEVOPTS flag to get pedantic compilation
On 23.07.18 20:53, Junio C Hamano wrote: > Beat Bolli 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 >> --- >> >> 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. > >> [1] >> https://public-inbox.org/git/20180708144342.11922-1-dev+...@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=no >> +endif >> CFLAGS += -Wdeclaration-after-statement >> CFLAGS += -Wno-format-zero-length >> CFLAGS += -Wold-style-definition
Re: [PATCH v2] Makefile: add a DEVOPTS flag to get pedantic compilation
Beat Bolli 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 > --- > > 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+...@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=no > +endif > CFLAGS += -Wdeclaration-after-statement > CFLAGS += -Wno-format-zero-length > CFLAGS += -Wold-style-definition
[PATCH v2] Makefile: add a DEVOPTS flag to get pedantic compilation
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 --- 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+...@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=no +endif CFLAGS += -Wdeclaration-after-statement CFLAGS += -Wno-format-zero-length CFLAGS += -Wold-style-definition -- 2.18.0.203.gfac676dfb9