Re: [PATCH v4 3/4] libstdc++: Implement std::extents [PR107761].

2025-04-19 Thread Luc Grosheintz
On 4/18/25 7:47 PM, Luc Grosheintz wrote: On 4/18/25 2:00 PM, Tomasz Kaminski wrote: On Fri, Apr 18, 2025 at 1:43 PM Luc Grosheintz mailto:luc.groshei...@gmail.com>> wrote:     This implements std::extents from according to N4950 and     contains partial progress towards PR

Re: [PATCH v4 3/4] libstdc++: Implement std::extents [PR107761].

2025-04-18 Thread Luc Grosheintz
On 4/18/25 2:00 PM, Tomasz Kaminski wrote: On Fri, Apr 18, 2025 at 1:43 PM Luc Grosheintz <mailto:luc.groshei...@gmail.com>> wrote: This implements std::extents from according to N4950 and contains partial progress towards PR107761. If an extent changes its type,

[PATCH v3 3/4] libstdc++: Implement std::extents [PR107761].

2025-04-18 Thread Luc Grosheintz
* include/std/mdspan (extents): New class. * src/c++23/std.cc.in: Add 'using std::extents'. Signed-off-by: Luc Grosheintz --- libstdc++-v3/include/std/mdspan | 249 +++ libstdc++-v3/src/c++23/std.cc.in | 6 +- 2 files changed, 254 insertions(+

Re: [PATCH v4 0/4] Implement extents from the mdspan header.

2025-04-18 Thread Luc Grosheintz
venient 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

[PATCH v4 3/4] libstdc++: Implement std::extents [PR107761].

2025-04-18 Thread Luc Grosheintz
* include/std/mdspan (extents): New class. * src/c++23/std.cc.in: Add 'using std::extents'. Signed-off-by: Luc Grosheintz --- libstdc++-v3/include/std/mdspan | 249 +++ libstdc++-v3/src/c++23/std.cc.in | 6 +- 2 files changed, 254 insertions(+

[PATCH v4 4/4] libstdc++: Add tests for std::extents.

2025-04-18 Thread Luc Grosheintz
test. * testsuite/23_containers/mdspan/extents/misc.cc: New test. Signed-off-by: Luc Grosheintz --- .../mdspan/extents/class_mandates_neg.cc | 8 + .../23_containers/mdspan/extents/ctor_copy.cc | 82 +++ .../23_containers/mdspan/extents/ctor_ints.cc | 62 + .../mdspan/ex

[PATCH v4 0/4] Implement extents from the mdspan header.

2025-04-18 Thread Luc Grosheintz
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

[PATCH v4 2/4] libstdc++: Add header mdspan to the build-system.

2025-04-18 Thread Luc Grosheintz
. * include/std/mdspan: New file. Signed-off-by: Luc Grosheintz --- libstdc++-v3/doc/doxygen/user.cfg.in | 1 + libstdc++-v3/include/Makefile.am | 1 + libstdc++-v3/include/Makefile.in | 1 + libstdc++-v3/include/precompiled/stdc++.h | 1 + libstdc++-v3/include/std/mdspan

[PATCH v4 1/4] libstdc++: Setup internal FTM for mdspan.

2025-04-18 Thread Luc Grosheintz
feature testing macro __glibcxx_mdspan. * include/bits/version.h: Regenerate. Signed-off-by: Luc Grosheintz --- libstdc++-v3/include/bits/version.def | 9 + libstdc++-v3/include/bits/version.h | 9 + 2 files changed, 18 insertions(+) diff --git a/libstdc++-v3

Re: [PATCH v3 3/4] libstdc++: Implement std::extents [PR107761].

2025-04-17 Thread Luc Grosheintz
On 4/17/25 2:31 PM, Tomasz Kaminski wrote: On Thu, Apr 17, 2025 at 2:21 PM Tomasz Kaminski wrote: On Thu, Apr 17, 2025 at 1:44 PM Tomasz Kaminski wrote: On Thu, Apr 17, 2025 at 1:18 PM Luc Grosheintz wrote: This implements std::extents from

Re: [PATCH v3 3/4] libstdc++: Implement std::extents [PR107761].

2025-04-17 Thread Luc Grosheintz
Thank you for another excellent review! On 4/17/25 1:44 PM, Tomasz Kaminski wrote: On Thu, Apr 17, 2025 at 1:18 PM Luc Grosheintz wrote: This implements std::extents from according to N4950 and contains partial progress towards PR107761. If an extent changes its type

[PATCH v3 1/4] libstdc++: Setup internal FTM for mdspan.

2025-04-17 Thread Luc Grosheintz
feature testing macro __glibcxx_mdspan. * include/bits/version.h: Regenerate. Signed-off-by: Luc Grosheintz --- libstdc++-v3/include/bits/version.def | 9 + libstdc++-v3/include/bits/version.h | 9 + 2 files changed, 18 insertions(+) diff --git a/libstdc++-v3

Re: [PATCH v1 0/4] Implement extents from the mdspan header.

2025-04-17 Thread Luc Grosheintz
The `v1` in the subject line is a copy-paste error while creating the subject line. This is the preceding patch series: https://gcc.gnu.org/pipermail/libstdc++/2025-April/060988.html On 4/17/25 1:16 PM, Luc Grosheintz wrote: The following changes were made since v2: * Implement the missing

[PATCH v3 2/4] libstdc++: Add header mdspan to the build-system.

2025-04-17 Thread Luc Grosheintz
. * include/std/mdspan: New file. Signed-off-by: Luc Grosheintz --- libstdc++-v3/doc/doxygen/user.cfg.in | 1 + libstdc++-v3/include/Makefile.am | 1 + libstdc++-v3/include/Makefile.in | 1 + libstdc++-v3/include/precompiled/stdc++.h | 1 + libstdc++-v3/include/std/mdspan

[PATCH v3 4/4] libstdc++: Add tests for std::extents.

2025-04-17 Thread Luc Grosheintz
test. * testsuite/23_containers/mdspan/extents/ctor_ints.cc: New test. * testsuite/23_containers/mdspan/extents/ctor_shape.cc: New test. * testsuite/23_containers/mdspan/extents/custom_integer.cc: New test. * testsuite/23_containers/mdspan/extents/misc.cc: New test. Signed-off-by

[PATCH v1 0/4] Implement extents from the mdspan header.

2025-04-17 Thread Luc Grosheintz
two patches of the series haven't changed since v2. 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.c

[PATCH v2 3/4] libstdc++: Implement std::extents [PR107761].

2025-04-15 Thread Luc Grosheintz
PR libstdc++/107761 libstdc++-v3/ChangeLog: * include/std/mdspan (extents): New class. * src/c++23/std.cc.in: Add 'using std::extents'. Signed-off-by: Luc Grosheintz --- libstdc++-v3/include/std/mdspan | 304 +++ libstdc++-v3/src/c++

Re: [PATCH v2 3/4] libstdc++: Implement std::extents [PR107761].

2025-04-15 Thread Luc Grosheintz
Thank you! I left two comments. Everything not commented on, I'll just incorporate into the next iteration. On 4/15/25 11:18 AM, Tomasz Kaminski wrote: On Tue, Apr 15, 2025 at 10:43 AM Luc Grosheintz wrote: This implements std::extents from according to N4950 and contains pa

Re: [PATCH v1 0/4] Implement extents from the mdspan header.

2025-04-15 Thread Luc Grosheintz
The second iteration of this patch series is available here: https://gcc.gnu.org/pipermail/libstdc++/2025-April/060988.html Thank you for the reviews. On 4/9/25 9:23 AM, Luc Grosheintz wrote: Hi, This is a patch series that implements std::extents from . I've never contributed to G

[PATCH v2 1/4] libstdc++: Setup internal FTM for mdspan.

2025-04-15 Thread Luc Grosheintz
feature testing macro __glibcxx_mdspan. * include/bits/version.h: Regenerate. Signed-off-by: Luc Grosheintz --- libstdc++-v3/include/bits/version.def | 9 + libstdc++-v3/include/bits/version.h | 9 + 2 files changed, 18 insertions(+) diff --git a/libstdc++-v3

[PATCH v2 0/4] Implement extents from the mdspan header.

2025-04-15 Thread Luc Grosheintz
c++-v3`. Thank you Tomasz Kaminski and Jonathan Wakely for your helpful review! 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. libst

[PATCH v2 4/4] libstdc++: Add tests for std::extents.

2025-04-15 Thread Luc Grosheintz
suite/23_containers/mdspan/extents/extent.cc: New test. * testsuite/23_containers/mdspan/extents/ops_eq.cc: New test. Signed-off-by: Luc Grosheintz --- .../23_containers/mdspan/extents/assign.cc| 29 ++ .../mdspan/extents/class_properties.cc| 62 + .../23_containers/m

[PATCH v2 2/4] libstdc++: Add header mdspan to the build-system.

2025-04-15 Thread Luc Grosheintz
. * include/std/mdspan: New file. Signed-off-by: Luc Grosheintz --- libstdc++-v3/doc/doxygen/user.cfg.in | 1 + libstdc++-v3/include/Makefile.am | 1 + libstdc++-v3/include/Makefile.in | 1 + libstdc++-v3/include/precompiled/stdc++.h | 1 + libstdc++-v3/include/std/mdspan

[PATCH v1 1/4] libstdc++: Setup internal FTM for mdspan.

2025-04-10 Thread Luc Grosheintz
feature testing macro __glibcxx_mdspan. * include/bits/version.h: Regenerate. Signed-off-by: Luc Grosheintz --- libstdc++-v3/include/bits/version.def | 9 + libstdc++-v3/include/bits/version.h | 10 ++ 2 files changed, 19 insertions(+) diff --git a/libstdc++-v3

Re: [PATCH v1 4/4] libstdc++: Add tests for std::extents.

2025-04-10 Thread Luc Grosheintz
diff --git a/libstdc++-v3/testsuite/23_containers/mdspan/extents/assign_copy_01_neg.cc b/libstdc++-v3/testsuite/23_containers/mdspan/extents/assign_copy_01_neg.cc new file mode 100644 index 000..8a514f2207b --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/mdspan/extents/assign_co

[PATCH v1 4/4] libstdc++: Add tests for std::extents.

2025-04-10 Thread Luc Grosheintz
test. * testsuite/23_containers/mdspan/extents/static_extent.cc: New test. Signed-off-by: Luc Grosheintz --- .../mdspan/extents/assign_copy.cc | 26 ++ .../mdspan/extents/assign_copy_01_neg.cc | 15 .../mdspan/extents/class_traits.cc

Re: [PATCH v1 3/4] libstdc++: Implement std::extents [PR107761].

2025-04-10 Thread Luc Grosheintz
On 4/9/25 9:23 AM, Luc Grosheintz wrote: This implements std::extents from according to N4950 and contains partial progress towards PR107761. If an extent changes its type, there's a precondition in the standard, that the value is representable in the target integer type. This commit u

[PATCH v1 3/4] libstdc++: Implement std::extents [PR107761].

2025-04-09 Thread Luc Grosheintz
PR libstdc++/107761 libstdc++-v3/ChangeLog: * include/std/mdspan (extents): New class. * src/c++23/std.cc.in: Add 'using std::extents'. Signed-off-by: Luc Grosheintz --- libstdc++-v3/include/std/mdspan | 400 +++ libstdc++-v3/src/c++

[PATCH v1 2/4] libstdc++: Add header mdspan to the build-system.

2025-04-09 Thread Luc Grosheintz
. * include/std/mdspan: New file. Signed-off-by: Luc Grosheintz --- libstdc++-v3/doc/doxygen/user.cfg.in | 1 + libstdc++-v3/include/Makefile.am | 1 + libstdc++-v3/include/Makefile.in | 1 + libstdc++-v3/include/precompiled/stdc++.h | 4 ++ libstdc++-v3/include/std/mdspan

[PATCH v1 0/4] Implement extents from the mdspan header.

2025-04-09 Thread Luc Grosheintz
Each commit was tested with 'make check-target-libstdc++-v3' on x86_64. Thank you! 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.