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