https://gcc.gnu.org/g:369c439ca19725712426defb441663c529b27dd3

commit r16-440-g369c439ca19725712426defb441663c529b27dd3
Author: Luc Grosheintz <luc.groshei...@gmail.com>
Date:   Tue Apr 29 14:46:07 2025 +0200

    libstdc++: Setup internal FTM for mdspan.
    
    Uses the FTM infrastructure to create an internal feature testing macro
    for partial availability of mdspan; which is then used to hide the
    contents of the header mdspan when compiling against a standard prior to
    C++23.
    
    libstdc++-v3/ChangeLog:
    
            * include/bits/version.def: Add internal feature testing macro
            __glibcxx_mdspan.
            * include/bits/version.h: Regenerate.
    
    Signed-off-by: Luc Grosheintz <luc.groshei...@gmail.com>

Diff:
---
 libstdc++-v3/include/bits/version.def | 9 +++++++++
 libstdc++-v3/include/bits/version.h   | 9 +++++++++
 2 files changed, 18 insertions(+)

diff --git a/libstdc++-v3/include/bits/version.def 
b/libstdc++-v3/include/bits/version.def
index 282667eabda6..f4d3de88bb2b 100644
--- a/libstdc++-v3/include/bits/version.def
+++ b/libstdc++-v3/include/bits/version.def
@@ -999,6 +999,15 @@ ftms = {
   };
 };
 
+ftms = {
+  name = mdspan;
+  no_stdname = true; // FIXME: remove
+  values = {
+    v = 1; // FIXME: 202207
+    cxxmin = 23;
+  };
+};
+
 ftms = {
   name = ssize;
   values = {
diff --git a/libstdc++-v3/include/bits/version.h 
b/libstdc++-v3/include/bits/version.h
index bb7c0479c723..d5d75cef2de1 100644
--- a/libstdc++-v3/include/bits/version.h
+++ b/libstdc++-v3/include/bits/version.h
@@ -1114,6 +1114,15 @@
 #endif /* !defined(__cpp_lib_span) && defined(__glibcxx_want_span) */
 #undef __glibcxx_want_span
 
+#if !defined(__cpp_lib_mdspan)
+# if (__cplusplus >= 202100L)
+#  define __glibcxx_mdspan 1L
+#  if defined(__glibcxx_want_all) || defined(__glibcxx_want_mdspan)
+#  endif
+# endif
+#endif /* !defined(__cpp_lib_mdspan) && defined(__glibcxx_want_mdspan) */
+#undef __glibcxx_want_mdspan
+
 #if !defined(__cpp_lib_ssize)
 # if (__cplusplus >= 202002L)
 #  define __glibcxx_ssize 201902L

Reply via email to