[libcxx-commits] [libcxx] [libcxx] applies integer-like changes from [P2393R1] (PR #74161)
Jan Schultke via libcxx-commits
libcxx-commits at lists.llvm.org
Sun Nov 2 22:33:11 PST 2025
eisenwave wrote:
Buckle in, it could take years until P3666 sees LWG and CWG. However, the usual workaround for bit-precise integers being added to the language is to exclude them from existing integer wording. I'm not sure any outcome is plausible other than to make the wording say
> The width of an integer-class type is greater than that of every integral type of the same signedness other than a bit-precise integer type.
Otherwise, the implementation may have to raise the bar for integer-class types as it increases the `BITINT_MAXWIDTH`, breaking API and ABI.
Remember that the `BITINT_MAXWIDTH` is only guaranteed to be 64, and SG22 supported perpetuating that with unanimous consent. This also means that bit-precise integers can't plausibly act as a replacement for Microsoft's `std::_Signed128` and `std::_Unsigned128`. If the `BITINT_MAXWIDTH` was greater, an alternative outcome may be replacing integer-class types entirely.
https://github.com/llvm/llvm-project/pull/74161
More information about the libcxx-commits
mailing list