Re: meson: Specify -Wformat as a common warning flag for extensions
От | Tristan Partin |
---|---|
Тема | Re: meson: Specify -Wformat as a common warning flag for extensions |
Дата | |
Msg-id | CZSDSNYEUHUL.399XLPGCJSJ5H@neon.tech обсуждение исходный текст |
Ответ на | Re: meson: Specify -Wformat as a common warning flag for extensions (Sutou Kouhei <kou@clear-code.com>) |
Ответы |
Re: meson: Specify -Wformat as a common warning flag for extensions
|
Список | pgsql-hackers |
On Tue Mar 12, 2024 at 6:56 PM CDT, Sutou Kouhei wrote: > Hi, > > In <CZOHWDYQJQCQ.23A5RRV1E05N2@neon.tech> > "Re: meson: Specify -Wformat as a common warning flag for extensions" on Fri, 08 Mar 2024 10:05:27 -0600, > "Tristan Partin" <tristan@neon.tech> 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. > > > > $ gcc $(pg_config --cflags) -E - < /dev/null > /dev/null > > cc1: warning: ‘-Wformat-security’ ignored without ‘-Wformat’ > > [-Wformat-security] > > $ gcc -Wall $(pg_config --cflags) -E - < /dev/null > /dev/null > > (nothing printed) > > Thanks for explaining this. You're right. This is the reason > why we don't need this for PostgreSQL itself but we need > this for PostgreSQL extensions. Sorry. I should have > explained this in the first e-mail... > > > What should we do to proceed this patch? Perhaps adding some more clarification in the comments that I wrote. - # -Wformat-security requires -Wformat, so check for it + # -Wformat-secuirty requires -Wformat. We compile with -Wall in + # Postgres, which includes -Wformat=1. -Wformat is shorthand for + # -Wformat=1. The set of flags which includes -Wformat-security is + # persisted into pg_config --cflags, which is commonly used by + # PGXS-based extensions. The lack of -Wformat in the persisted flags + # will produce a warning on many GCC versions, so even though adding + # -Wformat here is a no-op for Postgres, it silences other use cases. That might be too long-winded though :). -- Tristan Partin Neon (https://neon.tech)
В списке pgsql-hackers по дате отправления: