diff options
author | Luc Grosheintz <luc.grosheintz@gmail.com> | 2025-04-29 14:46:09 +0200 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2025-05-07 11:47:39 +0100 |
commit | a33b5db97c4e87bd02f1af1a75b2d84376442fa0 (patch) | |
tree | 7ee611a9df735c7840e3e46eafe2434e98323368 /libjava/classpath | |
parent | 4c9eef71db5e8e693c44ac4090247541e5a43063 (diff) | |
download | gcc-a33b5db97c4e87bd02f1af1a75b2d84376442fa0.zip gcc-a33b5db97c4e87bd02f1af1a75b2d84376442fa0.tar.gz gcc-a33b5db97c4e87bd02f1af1a75b2d84376442fa0.tar.bz2 |
libstdc++: Implement std::extents [PR107761].
This implements std::extents from <mdspan> according to N4950 and
contains partial progress towards PR107761.
If an extent changes its type, there's a precondition in the standard,
that the value is representable in the target integer type. This
precondition is not checked at runtime.
The precondition for 'extents::{static_,}extent' is that '__r < rank()'.
For extents<T> this precondition is always violated and results in
calling __builtin_trap. For all other specializations it's checked via
__glibcxx_assert.
PR libstdc++/107761
libstdc++-v3/ChangeLog:
* include/std/mdspan (extents): New class.
* src/c++23/std.cc.in: Add 'using std::extents'.
Signed-off-by: Luc Grosheintz <luc.grosheintz@gmail.com>
Diffstat (limited to 'libjava/classpath')
0 files changed, 0 insertions, 0 deletions