[PATCH 4/4] libstdc++: Add fallback 128-bit integer class type and use it

Jonathan Wakely jwakely@redhat.com
Thu Mar 11 18:15:17 GMT 2021


On 11/03/21 19:09 +0100, Daniel Krügler via Libstdc++ wrote:
>It seems to me that basically all uint128_t operations should be
>unconditionally noexcept. Currently none of them is so (The constexpr
>keyword is a red herring in this regard).

None of this code is exposed to users (so nobody is using the noexcept
operator to heck if it throws), and is all inline, so the compiler can
see that it doesn't throw. We could make it noexcept, but I don't
think it makes any difference to anything. That could be done as a
follow-up patch.

>Is it worth considering to add (conditional) support for operator<=>
>and corresponding simplifications of comparison operators?

This is (currently) compiled with -std=gnu++17 so that's not
available. We could of course change that, but enabling experimental
C++20 features in the implementation of our less-experimental C++17
features has non-zero risk.

I definitely don't want conditional support for operator<=>
complicating the code. Either we compile it with -std=gnu++17 or we
compile it with -std=gnu++20, but we don't need to check which it is
with #if.




More information about the Gcc-patches mailing list