[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