Re: powerpc pg_atomic_compare_exchange_u32_impl: error: comparison of integer expressions of different signedness (Re: pgsql: For all ppc compilers, implement compare_exchange and) fetch_add

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Christoph Berg <myon@debian.org>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Noah Misch <noah@leadboat.com>, pgsql-hackers@lists.postgresql.org
Date: 2020-10-12T01:16:46Z
Lists: pgsql-hackers
On Sun, Oct 11, 2020 at 08:35:13PM +0200, Christoph Berg wrote:
> Re: Tom Lane
>> Hmm, I'd argue for a back-patch.  The issue of modern compilers
>> warning about the incorrect code will apply to all supported branches.
>> Moreover, even if we don't use these code paths today, who's to say
>> that someone won't back-patch a bug fix that requires them?  I do not
>> think it's unreasonable to expect these functions to work well in
>> all branches that have them.
> 
> Or remove them. (But fixing seems better.)

The patch is not that invasive, so just fixing back-branches sounds
like a good idea to me.  My 2c.
--
Michael

Commits

  1. Choose ppc compare_exchange constant path for more operand values.

  2. For ppc gcc, implement 64-bit compare_exchange and fetch_add with asm.

  3. For all ppc compilers, implement compare_exchange and fetch_add with asm.