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 CZOHWDYQJQCQ.23A5RRV1E05N2@neon.tech
обсуждение исходный текст
Ответ на Re: meson: Specify -Wformat as a common warning flag for extensions  (Michael Paquier <michael@paquier.xyz>)
Ответы 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  (Peter Eisentraut <peter@eisentraut.org>)
Список pgsql-hackers
On Fri Mar 8, 2024 at 12:32 AM CST, Michael Paquier wrote:
> On Thu, Mar 07, 2024 at 11:39:39PM -0600, Tristan Partin wrote:
> > It sounds like a legitimate issue. I have confirmed the issue exists with a
> > pg_config compiled with Meson. I can also confirm that this issue exists in
> > the autotools build.
>
> First time I'm hearing about that, but I'll admit that I am cheating
> because -Wformat is forced in my local builds for some time now.  I'm
> failing to see the issue with meson and ./configure even if I remove
> the switch, though, using a recent version of gcc at 13.2.0, but
> perhaps Debian does something underground.  Are there version and/or
> environment requirements to be aware of?
>
> Forcing -Wformat implies more stuff that can be disabled with
> -Wno-format-contains-nul, -Wno-format-extra-args, and
> -Wno-format-zero-length, but the thing is that we're usually very
> conservative with such additions in the scripts.  See also
> 8b6f5f25102f, done, I guess, as an answer to this thread:
> https://www.postgresql.org/message-id/4D431505.9010002%40dunslane.net
>
> A quick look at the past history of pgsql-hackers does not mention
> that as a problem, either, but I may have missed something.

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)

--
Tristan Partin
Neon (https://neon.tech)



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Peter Geoghegan
Дата:
Сообщение: Re: Confine vacuum skip logic to lazy_scan_skip
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: Confine vacuum skip logic to lazy_scan_skip