Hi,

On 2022-03-08 13:46:36 -0500, Tom Lane wrote:
> Andres Freund <and...@anarazel.de> writes:
> > When running cpluspluscheck I get many many complaints like
> > /tmp/pg-test-repo/src/include/port/atomics/arch-x86.h:143:23: warning: ISO 
> > C++17 does not allow ‘register’ storage class specifier [-Wregister]
>
> Interesting, I don't see that here.

Probably a question of the gcc version. I think starting with 11 g++ defaults
to C++ 17.


> > It seems we should just remove the use of register?
>
> I have a vague idea that it was once important to say "register" if
> you are going to use the variable in an asm snippet that requires it
> to be in a register.  That might be wrong, or it might be obsolete
> even if once true.  We could try taking these out and seeing if the
> buildfarm complains.

We have several inline asm statements not using register despite using
variables in a register (e.g. pg_atomic_compare_exchange_u32_impl()), so I
wouldn't expect a problem with compilers we support.

Should we make configure test for -Wregister? There's at least one additional
use of register that we'd have to change (pg_regexec).


> (If so, maybe -Wno-register would help?)

That's what I did to work around the flood of warnings locally, so it'd
work.

Greetings,

Andres Freund


Reply via email to