[libcxx-commits] [libcxx] [libcxx] applies integer-like changes from [P2393R1] (PR #74161)

Christopher Di Bella via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jan 8 11:19:53 PST 2024


cjdb 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?

Nice catch, I'll get on that :)

https://github.com/llvm/llvm-project/pull/74161


More information about the libcxx-commits mailing list