pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Michael Paquier <michael@paquier.xyz>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-committers@lists.postgresql.org
Subject: Re: pgsql: Fix incorrect format placeholder.
Date: Tue, 9 Nov 2021 20:16:32 +0900
Message-ID: <YYpYkAw2k4cx2z1E@paquier.xyz> (raw)
In-Reply-To: <1103686.1636437986@sss.pgh.pa.us>
References: <E1mkANl-0001P8-Ur@gemulon.postgresql.org>
	<YYnU5x3OQI73sgoE@paquier.xyz>
	<1100878.1636435176@sss.pgh.pa.us>
	<YYoJYO475dsqYhta@paquier.xyz>
	<1103686.1636437986@sss.pgh.pa.us>

On Tue, Nov 09, 2021 at 01:06:26AM -0500, Tom Lane wrote:
> I figured the Perl guys would do something about it, but it will be a
> very long time before that propagates everywhere.  Maybe we should
> teach configure to add -Wno-compound-token-split-by-macro?  By my
> count there are now five buildfarm members besides dangomushi that
> are producing these warnings, and I think the number is going to
> go up before it goes down.
> 
> (Meanwhile, I guess I could enable -Werror on florican.)

Yeah, you have a point here.  -Wcompound-token-split-by-macro is new
as of clang-12 from last April, so I am a bit surprised that it is
that present in the buildfarm TBH.

The attached is sufficient to remove those warnings.  Debian provides
clang-12, so it is easy to reproduce the problem.

What do you think?
--
Michael

Attachments:

plperl-clang-warnings.patch (text/x-diff, 2.9K) download diff --git a/configure b/configure index 4ffefe4655..6856ec649d 100755 --- a/configure +++ b/configure @@ -6334,6 +6334,52 @@ fi if test -n "$NOT_THE_CFLAGS"; then CFLAGS="$CFLAGS -Wno-unused-command-line-argument" fi + # Remove clang 12+'s compound-token-split-by-macro, as this causes a lot + # of warnings when building plperl because of Perl. Like previously, test + # for the positive form and add the negative form + NOT_THE_CFLAGS="" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CC} supports -Wcompound-token-split-by-macro, for NOT_THE_CFLAGS" >&5 +$as_echo_n "checking whether ${CC} supports -Wcompound-token-split-by-macro, for NOT_THE_CFLAGS... " >&6; } +if ${pgac_cv_prog_CC_cflags__Wcompound_token_split_by_macro+:} false; then : + $as_echo_n "(cached) " >&6 +else + pgac_save_CFLAGS=$CFLAGS +pgac_save_CC=$CC +CC=${CC} +CFLAGS="${NOT_THE_CFLAGS} -Wcompound-token-split-by-macro" +ac_save_c_werror_flag=$ac_c_werror_flag +ac_c_werror_flag=yes +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv_prog_CC_cflags__Wcompound_token_split_by_macro=yes +else + pgac_cv_prog_CC_cflags__Wcompound_token_split_by_macro=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_c_werror_flag=$ac_save_c_werror_flag +CFLAGS="$pgac_save_CFLAGS" +CC="$pgac_save_CC" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_prog_CC_cflags__Wcompound_token_split_by_macro" >&5 +$as_echo "$pgac_cv_prog_CC_cflags__Wcompound_token_split_by_macro" >&6; } +if test x"$pgac_cv_prog_CC_cflags__Wcompound_token_split_by_macro" = x"yes"; then + NOT_THE_CFLAGS="${NOT_THE_CFLAGS} -Wcompound-token-split-by-macro" +fi + + + if test -n "$NOT_THE_CFLAGS"; then + CFLAGS="$CFLAGS -Wno-compound-token-split-by-macro" + fi # Similarly disable useless truncation warnings from gcc 8+ NOT_THE_CFLAGS="" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CC} supports -Wformat-truncation, for NOT_THE_CFLAGS" >&5 diff --git a/configure.ac b/configure.ac index 44ee3ebe2f..05a00b3e14 100644 --- a/configure.ac +++ b/configure.ac @@ -530,6 +530,14 @@ if test "$GCC" = yes -a "$ICC" = no; then if test -n "$NOT_THE_CFLAGS"; then CFLAGS="$CFLAGS -Wno-unused-command-line-argument" fi + # Remove clang 12+'s compound-token-split-by-macro, as this causes a lot + # of warnings when building plperl because of Perl. Like previously, test + # for the positive form and add the negative form + NOT_THE_CFLAGS="" + PGAC_PROG_CC_VAR_OPT(NOT_THE_CFLAGS, [-Wcompound-token-split-by-macro]) + if test -n "$NOT_THE_CFLAGS"; then + CFLAGS="$CFLAGS -Wno-compound-token-split-by-macro" + fi # Similarly disable useless truncation warnings from gcc 8+ NOT_THE_CFLAGS="" PGAC_PROG_CC_VAR_OPT(NOT_THE_CFLAGS, [-Wformat-truncation])
signature.asc (application/pgp-signature, 832B) download

view thread (19+ messages)  latest in thread

Message-ID: <YYpYkAw2k4cx2z1E@paquier.xyz>
Permalink:  ../YYpYkAw2k4cx2z1E@paquier.xyz/
Also on:    postgresql.org/message-id/YYpYkAw2k4cx2z1E@paquier.xyz

 ·  · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: michael@paquier.xyz, tgl@sss.pgh.pa.us, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Fix incorrect format placeholder.
  In-Reply-To: <YYpYkAw2k4cx2z1E@paquier.xyz>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox