diff --git a/libstdc++-v3/include/std/mdspan b/libstdc++-v3/include/std/mdspan index d98b91d4419..a9168af4acc 100644 --- a/libstdc++-v3/include/std/mdspan +++ b/libstdc++-v3/include/std/mdspan @@ -469,7 +469,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return 1; else if constexpr (__rank == 2) return __r == 0 ? 1 : __exts.extent(0); - else if constexpr (__all_dynamic(__sta_exts)) + else if constexpr (__all_dynamic(std::span(__sta_exts).first(__rank-1))) return __extents_prod(__exts, 1, 0, __r); else { @@ -489,7 +489,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return 1; else if constexpr (__rank == 2) return __r == 0 ? __exts.extent(1) : 1; - else if constexpr (__all_dynamic(__sta_exts)) + else if constexpr (__all_dynamic(std::span(__sta_exts).last(__rank-1))) return __extents_prod(__exts, 1, __r + 1, __rank); else {