[PATCH v3 0/5] Implement mdspan.
Luc Grosheintz
luc.grosheintz@gmail.com
Mon Jul 7 09:12:12 GMT 2025
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.grosheintz@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
>>>
>>
>>
>
More information about the Libstdc++
mailing list