<div dir="auto"><div><br><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, 9 Apr 2025, 08:25 Luc Grosheintz, <<a href="mailto:luc.grosheintz@gmail.com">luc.grosheintz@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Creates a nearly empty header mdspan and adds it to the build-system and<br>
Doxygen config file.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Nice, thanks! I'll look at these patches properly another time (I'm unavailable today) but one quick comment below ...</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
libstdc++-v3/ChangeLog:<br>
<br>
        * doc/doxygen/<a href="http://user.cfg.in" rel="noreferrer noreferrer" target="_blank">user.cfg.in</a>: Add <mdspan>.<br>
        * include/Makefile.am: Ditto.<br>
        * include/Makefile.in: Ditto.<br>
        * include/precompiled/stdc++.h: Ditto.<br>
        * include/std/mdspan: New file.<br>
<br>
Signed-off-by: Luc Grosheintz <<a href="mailto:luc.grosheintz@gmail.com" target="_blank" rel="noreferrer">luc.grosheintz@gmail.com</a>><br>
---<br>
 libstdc++-v3/doc/doxygen/<a href="http://user.cfg.in" rel="noreferrer noreferrer" target="_blank">user.cfg.in</a>      |  1 +<br>
 libstdc++-v3/include/Makefile.am          |  1 +<br>
 libstdc++-v3/include/Makefile.in          |  1 +<br>
 libstdc++-v3/include/precompiled/stdc++.h |  4 ++<br>
 libstdc++-v3/include/std/mdspan           | 48 +++++++++++++++++++++++<br>
 5 files changed, 55 insertions(+)<br>
 create mode 100644 libstdc++-v3/include/std/mdspan<br>
<br>
diff --git a/libstdc++-v3/doc/doxygen/<a href="http://user.cfg.in" rel="noreferrer noreferrer" target="_blank">user.cfg.in</a> b/libstdc++-v3/doc/doxygen/<a href="http://user.cfg.in" rel="noreferrer noreferrer" target="_blank">user.cfg.in</a><br>
index ae50f6dd0c7..be42ea5d6b1 100644<br>
--- a/libstdc++-v3/doc/doxygen/<a href="http://user.cfg.in" rel="noreferrer noreferrer" target="_blank">user.cfg.in</a><br>
+++ b/libstdc++-v3/doc/doxygen/<a href="http://user.cfg.in" rel="noreferrer noreferrer" target="_blank">user.cfg.in</a><br>
@@ -878,6 +878,7 @@ INPUT                  = @srcdir@/doc/doxygen/doxygroups.cc \<br>
                          include/list \<br>
                          include/locale \<br>
                          include/map \<br>
+                         include/mdspan \<br>
                          include/memory \<br>
                          include/memory_resource \<br>
                          include/mutex \<br>
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am<br>
index 537774c2668..1140fa0dffd 100644<br>
--- a/libstdc++-v3/include/Makefile.am<br>
+++ b/libstdc++-v3/include/Makefile.am<br>
@@ -38,6 +38,7 @@ std_freestanding = \<br>
        ${std_srcdir}/generator \<br>
        ${std_srcdir}/iterator \<br>
        ${std_srcdir}/limits \<br>
+       ${std_srcdir}/mdspan \<br>
        ${std_srcdir}/memory \<br>
        ${std_srcdir}/numbers \<br>
        ${std_srcdir}/numeric \<br>
diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in<br>
index 7b96b2207f8..c96e981acd6 100644<br>
--- a/libstdc++-v3/include/Makefile.in<br>
+++ b/libstdc++-v3/include/Makefile.in<br>
@@ -396,6 +396,7 @@ std_freestanding = \<br>
        ${std_srcdir}/generator \<br>
        ${std_srcdir}/iterator \<br>
        ${std_srcdir}/limits \<br>
+       ${std_srcdir}/mdspan \<br>
        ${std_srcdir}/memory \<br>
        ${std_srcdir}/numbers \<br>
        ${std_srcdir}/numeric \<br>
diff --git a/libstdc++-v3/include/precompiled/stdc++.h b/libstdc++-v3/include/precompiled/stdc++.h<br>
index 1ffde3ed450..56c480b6203 100644<br>
--- a/libstdc++-v3/include/precompiled/stdc++.h<br>
+++ b/libstdc++-v3/include/precompiled/stdc++.h<br>
@@ -237,6 +237,10 @@<br>
 #include <stdfloat><br>
 #endif<br>
<br>
+#if __cpluslus >= 202207L<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Typo in the macro name here. </div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+#include <mdspan><br>
+#endif<br>
+<br>
 #if __cplusplus > 202302L<br>
 #include <text_encoding><br>
 #endif<br>
diff --git a/libstdc++-v3/include/std/mdspan b/libstdc++-v3/include/std/mdspan<br>
new file mode 100644<br>
index 00000000000..4094a416d1e<br>
--- /dev/null<br>
+++ b/libstdc++-v3/include/std/mdspan<br>
@@ -0,0 +1,48 @@<br>
+// <mdspan> -*- C++ -*-<br>
+<br>
+// Copyright (C) 2025 Free Software Foundation, Inc.<br>
+//<br>
+// This file is part of the GNU ISO C++ Library.  This library is free<br>
+// software; you can redistribute it and/or modify it under the<br>
+// terms of the GNU General Public License as published by the<br>
+// Free Software Foundation; either version 3, or (at your option)<br>
+// any later version.<br>
+<br>
+// This library is distributed in the hope that it will be useful,<br>
+// but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the<br>
+// GNU General Public License for more details.<br>
+<br>
+// Under Section 7 of GPL version 3, you are granted additional<br>
+// permissions described in the GCC Runtime Library Exception, version<br>
+// 3.1, as published by the Free Software Foundation.<br>
+<br>
+// You should have received a copy of the GNU General Public License and<br>
+// a copy of the GCC Runtime Library Exception along with this program;<br>
+// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see<br>
+// <<a href="http://www.gnu.org/licenses/" rel="noreferrer noreferrer" target="_blank">http://www.gnu.org/licenses/</a>>.<br>
+<br>
+/** @file mdspan<br>
+ *  This is a Standard C++ Library header.<br>
+ */<br>
+<br>
+#ifndef _GLIBCXX_MDSPAN<br>
+#define _GLIBCXX_MDSPAN 1<br>
+<br>
+#ifdef _GLIBCXX_SYSHDR<br>
+#pragma GCC system_header<br>
+#endif<br>
+<br>
+#define __glibcxx_want_mdspan<br>
+#include <bits/version.h><br>
+<br>
+#ifdef __glibcxx_mdspan<br>
+<br>
+namespace std _GLIBCXX_VISIBILITY(default)<br>
+{<br>
+_GLIBCXX_BEGIN_NAMESPACE_VERSION<br>
+<br>
+_GLIBCXX_END_NAMESPACE_VERSION<br>
+}<br>
+#endif<br>
+#endif<br>
-- <br>
2.49.0<br>
<br>
</blockquote></div></div></div>