General comments, I may not have noticed this in previous patches,
but any calls to functions needs to qualified, with either std:: or
__mdspan::,
to avoid finding overloads by ADL.

On Tue, Nov 18, 2025 at 3:26 PM Luc Grosheintz <[email protected]>
wrote:

> This sequence of patches implements submdspan and as far as I'm aware
> completes the C++26 header <mdspan>.
>
> The first commit is preparatory (move code, generalize code
> and fix some formatting issues). Then, each commit implements:
>
>   - submdspan_canonicalize_slices,
>   - submdspan_extents (with review comments on previous patch),
>   - submdspan_mapping: for each layout,
>   - remove internal FTM __glibcxx_padded_layouts,
>   - set __cpp_lib_submdspan to mark completion of submdspan.
>
> Important changes since v1:
>
>   - removed use of `constexpr auto [...i] = _IotaArray` for
>   compatibility with clang.
>
> Luc Grosheintz (10):
>   libstdc++: Prepare mdspan-related code for submdspan.
>   libstdc++: Implement submdspan_canonicalize_slices. [PR110352]
>   libstdc++: Implement submdspan_extents. [PR110352]
>   libstdc++: Implement submdspan and submdspan_mapping for layout_left.
> [PR110352]
>   libstdc++: Implement submdspan_mapping for layout_right. [PR110352]
>   libstdc++: Implement submdspan_mapping for layout_stride. [PR110352]
>   libstdc++: Implement submdspan_mapping for layout_left_padded. [PR110352]
>   libstdc++: Implement submdspan_mapping for layout_right_padded.
> [PR110352]
>   libstdc++: remove __glibcxx_padded_layouts.
>   libstdc++: Set __cpp_lib_submdspan to 202411.
>
>  libstdc++-v3/include/bits/version.def         |  14 +-
>  libstdc++-v3/include/bits/version.h           |  14 +-
>  libstdc++-v3/include/std/mdspan               | 953 +++++++++++++++++-
>  libstdc++-v3/src/c++23/std.cc.in              |   6 +-
>  .../testsuite/23_containers/mdspan/int_like.h |  34 +-
>  .../padded_traits.h => layout_traits.h}       |  69 +-
>  .../23_containers/mdspan/layouts/ctors.cc     |   2 +-
>  .../23_containers/mdspan/layouts/mapping.cc   |   2 +-
>  .../23_containers/mdspan/layouts/padded.cc    |   2 +-
>  .../mdspan/layouts/padded_neg.cc              |   2 +-
>  .../mdspan/submdspan/submdspan.cc             | 377 +++++++
>  .../submdspan_canonicalize_slices.cc          | 212 ++++
>  .../submdspan_canonicalize_slices_neg.cc      | 208 ++++
>  .../mdspan/submdspan/submdspan_extents.cc     | 169 ++++
>  .../mdspan/submdspan/submdspan_extents_neg.cc |  48 +
>  .../mdspan/submdspan/submdspan_mapping.cc     | 301 ++++++
>  .../mdspan/submdspan/submdspan_neg.cc         | 120 +++
>  17 files changed, 2453 insertions(+), 80 deletions(-)
>  rename
> libstdc++-v3/testsuite/23_containers/mdspan/{layouts/padded_traits.h =>
> layout_traits.h} (67%)
>  create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/submdspan/submdspan.cc
>  create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/submdspan/submdspan_canonicalize_slices.cc
>  create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/submdspan/submdspan_canonicalize_slices_neg.cc
>  create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/submdspan/submdspan_extents.cc
>  create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/submdspan/submdspan_extents_neg.cc
>  create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/submdspan/submdspan_mapping.cc
>  create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/submdspan/submdspan_neg.cc
>
> --
> 2.51.2
>
>

Reply via email to