On Fri, Apr 18, 2025 at 1:56 PM Luc Grosheintz <luc.groshei...@gmail.com>
wrote:

> I have a question about how to proceed. First we finish the
> refinement of the current commits. Then I could:
>
> 1. start a new patch series for layout_*;
> 2. or add new commits to the current series for layout_*.
>
My personal preference would be for 2, patch per one layout.

>
> The advantage of 2. is that we can do more tests before merging
> anything into trunk. For example, we can check that the mapping
> of multi-indices to flat indices (i.e. the job of layout_*) is
> efficient. In particular, we can make sure that there's nothing
> in extents that prevents generating efficient code.
>
We can make adjustment until the C++23 is no longer mark as experimental,
and as we just started the GCC 16 branch, there would be nearly a year to
make adjustments,
before anybody will see current code. So there is no concerns in changing
the extents
in later commits.

>
> I'm open to both options and would prefer doing whatever is more
> convenient to the reviewers and maintainers.
>
> On 4/18/25 1:29 PM, Luc Grosheintz wrote:
> > This is the fourth interation and replaces:
> > https://gcc.gnu.org/pipermail/libstdc++/2025-April/061046.html
> >
> > Changes since v3:
> >    * Use `_S_` prefix for static member functions.
> >    * Use consteval to reduce code size.
> >    * Simplify ctors of _ExtentsStorage.
> >    * Added a test to cover the mandates of std::extents.
> >
> > Luc Grosheintz (4):
> >    libstdc++: Setup internal FTM for mdspan.
> >    libstdc++: Add header mdspan to the build-system.
> >    libstdc++: Implement std::extents [PR107761].
> >    libstdc++: Add tests for std::extents.
> >
> >   libstdc++-v3/doc/doxygen/user.cfg.in          |   1 +
> >   libstdc++-v3/include/Makefile.am              |   1 +
> >   libstdc++-v3/include/Makefile.in              |   1 +
> >   libstdc++-v3/include/bits/version.def         |   9 +
> >   libstdc++-v3/include/bits/version.h           |   9 +
> >   libstdc++-v3/include/precompiled/stdc++.h     |   1 +
> >   libstdc++-v3/include/std/mdspan               | 297 ++++++++++++++++++
> >   libstdc++-v3/src/c++23/std.cc.in              |   6 +-
> >   .../mdspan/extents/class_mandates_neg.cc      |   8 +
> >   .../23_containers/mdspan/extents/ctor_copy.cc |  82 +++++
> >   .../23_containers/mdspan/extents/ctor_ints.cc |  62 ++++
> >   .../mdspan/extents/ctor_shape.cc              | 160 ++++++++++
> >   .../mdspan/extents/custom_integer.cc          |  87 +++++
> >   .../23_containers/mdspan/extents/misc.cc      | 223 +++++++++++++
> >   14 files changed, 946 insertions(+), 1 deletion(-)
> >   create mode 100644 libstdc++-v3/include/std/mdspan
> >   create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/extents/class_mandates_neg.cc
> >   create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/extents/ctor_copy.cc
> >   create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/extents/ctor_ints.cc
> >   create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/extents/ctor_shape.cc
> >   create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/extents/custom_integer.cc
> >   create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/extents/misc.cc
> >
>
>

Reply via email to