[gcc r16-8028] libstdc++: Use CTAD for span in std::define_static_object [PR124443]

Jakub Jelinek jakub@gcc.gnu.org
Thu Mar 12 07:52:30 GMT 2026


https://gcc.gnu.org/g:3ad1168c190c0852aca82c6c15624e751c6fc598

commit r16-8028-g3ad1168c190c0852aca82c6c15624e751c6fc598
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Thu Mar 12 08:50:35 2026 +0100

    libstdc++: Use CTAD for span in std::define_static_object [PR124443]
    
    The standard in https://eel.is/c++draft/meta.reflection#meta.define.static-17
    uses CTAD for span but we were avoiding that and using span<const _Up>
    instead.
    
    2026-03-12  Jakub Jelinek  <jakub@redhat.com>
    
            PR libstdc++/124443
            * include/std/meta (std::define_static_object): Use CTAD for span.

Diff:
---
 libstdc++-v3/include/std/meta | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/libstdc++-v3/include/std/meta b/libstdc++-v3/include/std/meta
index d72c73894f2b..2a7d08e67e1c 100644
--- a/libstdc++-v3/include/std/meta
+++ b/libstdc++-v3/include/std/meta
@@ -657,8 +657,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 	  return std::addressof(meta::extract<const _Up&>(__cst));
 	}
       else
-	return std::define_static_array(span<const _Up>(std::addressof(__t),
-							1)).data();
+	return std::define_static_array(span(std::addressof(__t), 1)).data();
     }
 
 _GLIBCXX_END_NAMESPACE_VERSION


More information about the Libstdc++-cvs mailing list