On Mon, Feb 16, 2026 at 01:34:50PM +0100, Tomasz Kamiński wrote:
> This patch implements LWG 4491, addressing C++26 NB comments.
> 
> libstdc++-v3/ChangeLog:
> 
>       * include/std/mdspan (std::submdspan_extents): Rename to...
>       (std::subextents): Rename of submdspan_extents.
>       (std::submdspan_canonicalize_slices): Rename to...
>       (std::canonical_slices):
>       * 
> testsuite/23_containers/mdspan/submdspan/submdspan_canonicalize_slices.cc:
>       Move to...
>       * testsuite/23_containers/mdspan/submdspan/canonical_slices.cc: ...here.
>       Updated calls to submdspan_canonicalize_slices.
>       * 
> testsuite/23_containers/mdspan/submdspan/submdspan_canonicalize_slices_neg.cc:
>       Move to...
>       * testsuite/23_containers/mdspan/submdspan/canonical_slices_neg.cc: 
> ...here.
>       Updated calls to submdspan_canonicalize_slices.
>       * testsuite/23_containers/mdspan/submdspan/submdspan_extents.cc: Move 
> to...
>       * testsuite/23_containers/mdspan/submdspan/subextents.cc: ...here.
>       Qualified and renamed calls to submdspan_extents.
>       * testsuite/23_containers/mdspan/submdspan/submdspan_extents_neg.cc: 
> Move to...
>       * testsuite/23_containers/mdspan/submdspan/subextents_neg.cc: ...here.
>       Qualified and renamed calls to submdspan_extents.

This broke
+FAIL: g++.dg/modules/compile-std1.C -std=c++26 (test for excess errors)
+FAIL: g++.dg/modules/compile-std1.C module-cmi std (gcm.cache/std.gcm)
+FAIL: g++.dg/modules/compile-std1.C module-cmi std.compat 
(gcm.cache/std.compat.gcm)
on all targets.

The following patch fixes it, tested on x86_64-linux, ok for trunk?

2026-02-17  Jakub Jelinek  <[email protected]>

        * src/c++23/std.cc.in (std::submdspan_canonicalize_slices,
        std::submdspan_extents): Remove exports.
        (std::canonical_slices, std::subextents): New exports.

--- libstdc++-v3/src/c++23/std.cc.in.jj 2026-01-29 21:56:30.963463807 +0100
+++ libstdc++-v3/src/c++23/std.cc.in    2026-02-17 08:40:55.256669866 +0100
@@ -1915,8 +1915,8 @@ export namespace std
   using std::full_extent_t;
   using std::full_extent;
   using std::submdspan_mapping_result;
-  using std::submdspan_canonicalize_slices;
-  using std::submdspan_extents;
+  using std::canonical_slices;
+  using std::subextents;
   using std::submdspan;
 #endif
 }


        Jakub

Reply via email to