[libcxx-commits] [libcxx] [libcxx] applies integer-like changes from [P2393R1] (PR #74161)
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Jan 8 10:42:37 PST 2024
ldionne wrote:
> Yes to `__int128` and `unsigned __int128`. "libc++ only supports integral types that the compiler supports" was a design decision early in the libc++ ranges design (see [here](https://github.com/llvm/llvm-project/blob/main/libcxx/include/__iterator/concepts.h#L82-L86)). I would prefer to support `_BitInt(N)`, but I'm not against supporting it on a best-effort basis (i.e. fix bugs as they are filed). My guess is that `std::atomic` has potential hardware-level atomic constraints, whereas ranges don't have that extra restriction.
>
> A cursory glance tells me that there aren't any tests, so I'll fix those up tomorrow.
Thanks for the answer! So in that case, should we have tests for e.g. a `take_view` whose underlying view's `size()` returns a `int128_t`? That's what we're actually adding support for in this patch, right?
https://github.com/llvm/llvm-project/pull/74161
More information about the libcxx-commits
mailing list