On 29/09/2021 01:48, Carlo Marcelo Arenas Belón wrote: > 6a8cbc41ba (developer: enable pedantic by default, 2021-09-03) > enables pedantic mode in as many compilers as possible to help gather > feedback on future tightening, so lets do so. > > -Wpedantic is missing in some really old gcc 4 versions so lets restrict > it to gcc5 and clang4 (it does work in clang3 AFAIK, but it will be > unlikely that a developer will use such an old compiler anyway). > > MinGW gcc is the only one which has -Wno-pedantic-ms-format, and while > that is available also in older compilers, the Windows SDK provides gcc10 > so let's aim for that. > > Note that in order to target the flag to only Windows, additional changes > were needed in config.mak.uname to propagate the OS detection which also > did some minor refactoring, but which is functionaly equivalent. > > Helped-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> > Signed-off-by: Carlo Marcelo Arenas Belón <carenas@xxxxxxxxx> > --- > config.mak.dev | 7 ++++++- > config.mak.uname | 8 +++++++- > 2 files changed, 13 insertions(+), 2 deletions(-) > > diff --git a/config.mak.dev b/config.mak.dev > index cdf043c52b..7673fed114 100644 > --- a/config.mak.dev > +++ b/config.mak.dev > @@ -6,14 +6,19 @@ ifeq ($(filter no-error,$(DEVOPTS)),) > DEVELOPER_CFLAGS += -Werror > SPARSE_FLAGS += -Wsparse-error > endif > + > DEVELOPER_CFLAGS += -Wall > ifeq ($(filter no-pedantic,$(DEVOPTS)),) > DEVELOPER_CFLAGS += -pedantic > +ifneq (($or $(filter gcc5,$(COMPILER_FEATURES)),$(filter clang4,$(COMPILER_FEATURES))),) > DEVELOPER_CFLAGS += -Wpedantic > -ifneq ($(filter gcc5,$(COMPILER_FEATURES)),) > +ifneq ($(filter gcc10,$(COMPILER_FEATURES)),) > +ifeq ($(uname_S),MINGW) > DEVELOPER_CFLAGS += -Wno-pedantic-ms-format > endif > endif > +endif > +endif > DEVELOPER_CFLAGS += -Wdeclaration-after-statement > DEVELOPER_CFLAGS += -Wformat-security > DEVELOPER_CFLAGS += -Wold-style-definition > diff --git a/config.mak.uname b/config.mak.uname > index 76516aaa9a..124ddfce36 100644 > --- a/config.mak.uname > +++ b/config.mak.uname > @@ -11,6 +11,10 @@ uname_R := $(shell sh -c 'uname -r 2>/dev/null || echo not') > uname_P := $(shell sh -c 'uname -p 2>/dev/null || echo not') > uname_V := $(shell sh -c 'uname -v 2>/dev/null || echo not') > > +ifneq ($(findstring MINGW,$(uname_S)),) > + uname_S := MINGW > +endif > + > ifdef MSVC > # avoid the MingW and Cygwin configuration sections > uname_S := Windows > @@ -588,7 +592,7 @@ ifeq ($(uname_S),NONSTOP_KERNEL) > SANE_TOOL_PATH = /usr/coreutils/bin:/usr/local/bin > SHELL_PATH = /usr/coreutils/bin/bash > endif > -ifneq (,$(findstring MINGW,$(uname_S))) > +ifeq ($(uname_S),MINGW) > pathsep = ; > HAVE_ALLOCA_H = YesPlease > NO_PREAD = YesPlease > @@ -705,6 +709,8 @@ ifeq ($(uname_S),QNX) > NO_STRLCPY = YesPlease > endif > > +export uname_S > + This export seems to be unnecessary. ATB, Ramsay Jones > vcxproj: > # Require clean work tree > git update-index -q --refresh && \ >