On Fri, 12 Dec 2025 at 12:21, Tomasz Kaminski <[email protected]> wrote: > > > > On Fri, Dec 12, 2025 at 12:25 PM Luc Grosheintz <[email protected]> > wrote: >> >> The submdspan feature broke compatibility with clang, due to a missing >> '::template type'. >> >> libstdc++-v3/ChangeLog: >> >> * include/std/mdspan (submdspan): Fix missing '::template'. >> >> Signed-off-by: Luc Grosheintz <[email protected]> > > LGTM. I will handle merging it when it gets approved.
OK for trunk (this one could be pushed as "obvious" without formal approval, see https://gcc.gnu.org/gitwrite.html#all for that policy). >> >> --- >> >> After this change I can compile several examples that use submdspan with >> clang++ using the libstdc++ as the standard library (and I have no >> examples that don't compile). >> >> libstdc++-v3/include/std/mdspan | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/libstdc++-v3/include/std/mdspan >> b/libstdc++-v3/include/std/mdspan >> index dc0aa4f9584..cedf597d3c2 100644 >> --- a/libstdc++-v3/include/std/mdspan >> +++ b/libstdc++-v3/include/std/mdspan >> @@ -3376,7 +3376,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION >> template<typename _ElementType, typename _Extents, typename _Layout, >> typename _Accessor, typename... _RawSlices> >> requires (sizeof...(_RawSlices) == _Extents::rank() >> - && __mdspan::__sliceable_mapping<typename _Layout::mapping<_Extents>, >> + && __mdspan::__sliceable_mapping<typename _Layout::template >> mapping<_Extents>, >> >> __mdspan::__full_extent_t<_RawSlices>...>) >> constexpr auto >> submdspan( >> -- >> 2.52.0 >>
