On Fri, Apr 15 2022, Carlo Arenas wrote: > On Fri, Apr 15, 2022 at 4:45 PM Ævar Arnfjörð Bjarmason > <avarab@xxxxxxxxx> wrote: >> On Fri, Apr 15 2022, Carlo Marcelo Arenas Belón wrote: >> > diff --git a/config.mak.dev b/config.mak.dev >> > index 3deb076d5e3..335efd46203 100644 >> > --- a/config.mak.dev >> > +++ b/config.mak.dev >> > @@ -65,4 +65,9 @@ DEVELOPER_CFLAGS += -Wno-uninitialized >> > endif >> > endif >> > >> > +# https://bugzilla.redhat.com/show_bug.cgi?id=2075786 >> > +ifneq ($(filter gcc12,$(COMPILER_FEATURES)),) >> > +DEVELOPER_CFLAGS += -Wno-error=stringop-overread >> > +endif >> >> What I meant with "just set -Wno-error=stringop-overread on gcc12 for >> dir.(o|s|sp)?" was that you can set this per-file: > > of course, but that change goes in the Makefile and therefore affects > ALL builds, this one only affects DEVELOPER=1 and is therefore more > narrow. > > that is what I meant with "has been punted" in my commit message. I mean it can go in config.mak.dev, it doesn't need to be in the Makefile itself. The make doesn't have any notion of "file scope" or similar, the behavior is just a union of the variables, rules etc. that you source. So just as we append to DEVELOPER_CFLAGS and the Makefile uses it we can say "only append this to this file's flags", which since it's in config.mak.dev is guarded by DEVELOPER. >> dir.sp dir.s dir.o: EXTRA_CPPFLAGS += -Wno-error=stringop-overread > > I know at least one developer that will then rightfully complain that > the git build doesn't work in AIX with xl after this. Yes, it would break if it were in the Makfile, but not if it's in config.mak.dev. There it'll be guarded by the "only for gcc12" clause, so we don't need to worry about breaking any other compiler.