[libcxx-commits] [libcxx] [libc++][mdspan] Fix layout_stride->layout_right test (PR #191611)

via libcxx-commits libcxx-commits at lists.llvm.org
Sat Apr 11 01:16:37 PDT 2026


https://github.com/eiytoq created https://github.com/llvm/llvm-project/pull/191611

None

>From ffb3399e374d1a4aedef072f686386bb76064b32 Mon Sep 17 00:00:00 2001
From: eiytoq <eiytoq at outlook.com>
Date: Sat, 11 Apr 2026 16:10:47 +0800
Subject: [PATCH] fix

---
 .../views/mdspan/layout_right/ctor.layout_stride.pass.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp b/libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
index 5886eba9d15ee..02fedecee7f58 100644
--- a/libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
+++ b/libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
@@ -33,13 +33,13 @@
 
 template <bool implicit, class ToE, class FromE>
 constexpr void test_conversion(FromE src_exts) {
-  using To   = std::layout_left::mapping<ToE>;
+  using To   = std::layout_right::mapping<ToE>;
   using From = std::layout_stride::mapping<FromE>;
   std::array<typename FromE::index_type, FromE::rank()> strides;
   if constexpr (FromE::rank() > 0) {
-    strides[0] = 1;
-    for (size_t r = 1; r < FromE::rank(); r++)
-      strides[r] = src_exts.extent(r - 1) * strides[r - 1];
+    strides[FromE::rank() - 1] = 1;
+    for (size_t r = FromE::rank() - 1; r > 0; --r)
+      strides[r - 1] = src_exts.extent(r) * strides[r];
   }
   From src(src_exts, strides);
 



More information about the libcxx-commits mailing list