On Tue, May 27, 2025 at 4:32 PM Luc Grosheintz <luc.groshei...@gmail.com>
wrote:

> Since, I believe now we're through the larger questions about
> how to implement layouts. If reviewing all three over and over
> is too painful, it might now make sense to split the patch into
> separate patches, one per layout.
>
I think we are OK. As you mentioned we are past general discussion,
so I need to do more throughroul review with checking against the standard.
I will try to book some time for this this week.


> On 5/26/25 16:04, Luc Grosheintz wrote:
> > This follows up on:
> > https://gcc.gnu.org/pipermail/libstdc++/2025-May/061572.html
> >
> > Note that this patch series can only be applied after merging:
> > https://gcc.gnu.org/pipermail/libstdc++/2025-May/061653.html
> >
> > The important changes since v3 are:
> >    * Fixed and testsed several related overflow issues that occured in
> >      extents of size 0 by using `size_t` to compute products.
> >    * Fixed and tested default ctors.
> >    * Add missing code for module support.
> >    * Documented deviation from standard.
> >
> > The smaller changes include:
> >    * Squashed the three small commits that make cosmetic changes to
> >      std::extents.
> >    * Remove layout_left related changes from the layout_stride commit.
> >    * Remove superfluous `mapping(extents_type(__exts))`.
> >    * Fix indenting and improve comment in layout_stride.
> >    * Add an easy check for representable required_span_size to
> >      layout_stride.
> >    * Inline __dynamic_extents_prod
> >
> > Thank you Tomasz for all the great reviews!
> >
> > Luc Grosheintz (8):
> >    libstdc++: Improve naming and whitespace for extents.
> >    libstdc++: Implement layout_left from mdspan.
> >    libstdc++: Add tests for layout_left.
> >    libstdc++: Implement layout_right from mdspan.
> >    libstdc++: Add tests for layout_right.
> >    libstdc++: Implement layout_stride from mdspan.
> >    libstdc++: Add tests for layout_stride.
> >    libstdc++: Make layout_left(layout_stride) noexcept.
> >
> >   libstdc++-v3/include/std/mdspan               | 711 +++++++++++++++++-
> >   libstdc++-v3/src/c++23/std.cc.in              |   5 +-
> >   .../mdspan/layouts/class_mandate_neg.cc       |  42 ++
> >   .../23_containers/mdspan/layouts/ctors.cc     | 459 +++++++++++
> >   .../23_containers/mdspan/layouts/empty.cc     |  78 ++
> >   .../23_containers/mdspan/layouts/mapping.cc   | 568 ++++++++++++++
> >   .../23_containers/mdspan/layouts/stride.cc    | 500 ++++++++++++
> >   7 files changed, 2349 insertions(+), 14 deletions(-)
> >   create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/layouts/class_mandate_neg.cc
> >   create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/layouts/ctors.cc
> >   create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/layouts/empty.cc
> >   create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/layouts/mapping.cc
> >   create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/layouts/stride.cc
> >
>
>

Reply via email to