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) downloaddiff --git a/configure b/configureindex 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.acindex 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
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