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

Christoph Berg <myon@debian.org>

From: Christoph Berg <myon@debian.org>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Noah Misch <noah@leadboat.com>, pgsql-hackers@lists.postgresql.org
Date: 2020-10-11T18:35:13Z
Lists: pgsql-hackers
Re: Tom Lane
> > I plan not to back-patch either of these.
> 
> 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.)

Christoph



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.