https://gcc.gnu.org/g:d6ed0658f70144dbec0fe7c494cf7a2a11b05d2e

commit r16-3320-gd6ed0658f70144dbec0fe7c494cf7a2a11b05d2e
Author: Luc Grosheintz <luc.groshei...@gmail.com>
Date:   Mon Aug 11 22:14:54 2025 +0200

    libstdc++: Reduce size static storage for __fwd_prod in mdspan.
    
    This fixes an oversight in a previous commit that improved mdspan
    related code. Because __size doesn't use __fwd_prod, __fwd_prod(__rank)
    is not needed anymore. Hence, one can shrink the size of
    __fwd_partial_prods.
    
    libstdc++-v3/ChangeLog:
    
            * include/std/mdspan (__fwd_partial_prods): Reduce size of the
            array by 1 element.
    
    Reviewed-by: Tomasz KamiƄski <tkami...@redhat.com>
    Signed-off-by: Luc Grosheintz <luc.groshei...@gmail.com>

Diff:
---
 libstdc++-v3/include/std/mdspan | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libstdc++-v3/include/std/mdspan b/libstdc++-v3/include/std/mdspan
index 351018a59a51..8f974257e962 100644
--- a/libstdc++-v3/include/std/mdspan
+++ b/libstdc++-v3/include/std/mdspan
@@ -274,8 +274,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       constexpr auto __fwd_partial_prods = [] consteval
        {
          constexpr size_t __rank = _Extents.size();
-         std::array<size_t, __rank + 1> __ret;
-         for(size_t __r = 0; __r < __rank + 1; ++__r)
+         std::array<size_t, __rank> __ret;
+         for(size_t __r = 0; __r < __rank; ++__r)
            __ret[__r] = __static_prod<_Extents>(0, __r);
          return __ret;
        }();

Reply via email to