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
