On 7/7/25 11:01, Tomasz Kaminski wrote:
Hi,
The patches look good to me, the only real comment is about using header
guard, that I plan to do locally.
I am testing on full test suite now, and will merge them pending the
approval from Jonathan.
From the patch that will set __cpp_lib_mdspan, do you want to create it? I
can also prepare that patch,
but given that you provided the whole implementation, it would be nice to
have also this one attributed to you.
I think I have it ready somewhere. I'll find it and send it.
On Fri, Jul 4, 2025 at 3:18 PM Luc Grosheintz <luc.groshei...@gmail.com>
wrote:
Additionally, I think we can set __cpp_lib_mdspan.
Yes, we should set it to value 202207. I can add this patch.
On 7/4/25 10:29, Luc Grosheintz wrote:
This patch series replaces:
https://gcc.gnu.org/pipermail/libstdc++/2025-June/062207.html
Addresses the review comments and improves commit messages. Most notably
the unnecessary patch to "strength" exception guarantees has been
removed (and tests moved into the mdspan commit).
The outstanding tasks for C++23 mdspan are:
- Update cxxapi-data.csv,
- Update C++23 status page.
IIUC, the cxxapi-data.csv can be updated separately in bulk for all of
C++23 mdspan and I can take care of it in a follow up patch. I'm not
entirely sure when and by whom the status page is updated.
Luc Grosheintz (5):
libstdc++: Check prerequisites of layout_*::operator().
libstdc++: Check prerequisite of extents::extents.
libstdc++: Restructure mdspan tests to reuse IntLike.
libstdc++: Implement __mdspan::__size.
libstdc++: Implement mdspan and tests [PR107761].
libstdc++-v3/include/std/mdspan | 314 ++++++++-
libstdc++-v3/src/c++23/std.cc.in | 3 +-
.../23_containers/mdspan/class_mandate_neg.cc | 41 ++
.../mdspan/extents/class_mandates_neg.cc | 2 +
.../mdspan/extents/custom_integer.cc | 27 +-
.../mdspan/extents/extents_mismatch_neg.cc | 35 +
.../23_containers/mdspan/extents/int_like.h | 28 +
.../23_containers/mdspan/layout_like.h | 80 +++
.../mdspan/layouts/debug/out_of_bounds_neg.cc | 30 +
.../testsuite/23_containers/mdspan/mdspan.cc | 603 ++++++++++++++++++
.../23_containers/mdspan/out_of_bounds_neg.cc | 24 +
11 files changed, 1156 insertions(+), 31 deletions(-)
create mode 100644
libstdc++-v3/testsuite/23_containers/mdspan/class_mandate_neg.cc
create mode 100644
libstdc++-v3/testsuite/23_containers/mdspan/extents/extents_mismatch_neg.cc
create mode 100644
libstdc++-v3/testsuite/23_containers/mdspan/extents/int_like.h
create mode 100644
libstdc++-v3/testsuite/23_containers/mdspan/layout_like.h
create mode 100644
libstdc++-v3/testsuite/23_containers/mdspan/layouts/debug/out_of_bounds_neg.cc
create mode 100644
libstdc++-v3/testsuite/23_containers/mdspan/mdspan.cc
create mode 100644
libstdc++-v3/testsuite/23_containers/mdspan/out_of_bounds_neg.cc