]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Setup internal FTM for mdspan.
authorLuc Grosheintz <luc.grosheintz@gmail.com>
Tue, 29 Apr 2025 12:46:07 +0000 (14:46 +0200)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 7 May 2025 10:47:39 +0000 (11:47 +0100)
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.grosheintz@gmail.com>
libstdc++-v3/include/bits/version.def
libstdc++-v3/include/bits/version.h

index 282667eabda61f01a80888b749ce81a0148769c1..f4d3de88bb2ba48e829920edb467704279195560 100644 (file)
@@ -999,6 +999,15 @@ ftms = {
   };
 };
 
+ftms = {
+  name = mdspan;
+  no_stdname = true; // FIXME: remove
+  values = {
+    v = 1; // FIXME: 202207
+    cxxmin = 23;
+  };
+};
+
 ftms = {
   name = ssize;
   values = {
index bb7c0479c7235db0a810526ef43a1e7cb240a923..d5d75cef2de14b5a58f5d844f62d9b21833816dc 100644 (file)
 #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