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]>
---

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

Reply via email to