On 08.03.24 17:05, Tristan Partin wrote:
Ok, I figured this out. -Wall implies -Wformat=1. We set warning_level to 1 in the Meson project() call, which implies -Wall, and set -Wall in CFLAGS for autoconf. That's the reason we don't get issues building Postgres. A user making use of the pg_config --cflags option, as Sutou is, *will* run into the aforementioned issues, since we don't propogate -Wall into pg_config.
(The actual mechanism for extensions is that they get CFLAGS from Makefile.global, but pg_config has the same underlying issue.)
I think the fix then is to put -Wall into CFLAGS in Makefile.global. Looking at a diff of Makefile.global between an autoconf and a meson build, I also see that under meson, CFLAGS doesn't get -O2 -g (or similar, depending on settings). This presumably has the same underlying issue that meson handles those flags internally.
For someone who wants to write a fix for this, the relevant variable is var_cflags in our meson scripts. And var_cxxflags as well.