[PATCH v1 0/3] Fix custom IndexType related bugs in mdspan.
Tomasz Kaminski
tkaminsk@redhat.com
Thu Jul 17 14:16:52 GMT 2025
Thank you for the fast response and fixes.
I will next week experiment with running libc++ test, so will confirm here
if they are all fixed.
On Wed, Jul 16, 2025 at 3:47 PM Luc Grosheintz <luc.grosheintz@gmail.com>
wrote:
> These three commits fix PR121061. The first prepares the tests, and then
> the next two each fix one of the bugs reported in PR121061.
>
> One issue to consider is that the effect of Layout::mapping::operator()
> is specified to be equivalent to [1]:
>
> return ((static_cast<index_type>(i) * stride(P)) + ... + 0);
>
> Which doesn't mention `std::move`. I've added std::move, since I believe
> that's the intended behaviour.
>
> [1]: https://eel.is/c++draft/mdspan.layout.left#obs-4
This is bug indeed, and we should report it.
>
>
> Luc Grosheintz (3):
> libstdc++: Refactor mdspan tests [PR121061]
> libstdc++: Fix constraint for custom integer types in mdspan
> [PR121061]
> libstdc++: Fix forwarding of custom IndexType in mdspan [PR121061]
>
> libstdc++-v3/include/std/mdspan | 42 ++---
> .../mdspan/extents/custom_integer.cc | 102 ++++++++----
> .../23_containers/mdspan/extents/int_like.h | 30 ----
> .../testsuite/23_containers/mdspan/int_like.h | 63 ++++++++
> .../23_containers/mdspan/layouts/mapping.cc | 114 +++++++-------
> .../23_containers/mdspan/layouts/stride.cc | 21 +--
> .../testsuite/23_containers/mdspan/mdspan.cc | 147 ++++++++++++------
> 7 files changed, 315 insertions(+), 204 deletions(-)
> delete mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/extents/int_like.h
> create mode 100644 libstdc++-v3/testsuite/23_containers/mdspan/int_like.h
>
> --
> 2.50.0
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://gcc.gnu.org/pipermail/libstdc++/attachments/20250717/2b8e3990/attachment-0001.htm>
More information about the Libstdc++
mailing list