On Tue, Jul 8, 2025 at 12:26 PM Luc Grosheintz <luc.groshei...@gmail.com>
wrote:

>
> On 7/8/25 11:32, Jonathan Wakely wrote:
> > On Tue, 8 Jul 2025 at 09:27, Luc Grosheintz <luc.groshei...@gmail.com>
> wrote:
> >>
> >>          PR libstdc++/107761
> >>
> >> libstdc++-v3/ChangeLog:
> >>
> >>          * include/bits/version.def (mdspan): Set to 202207 and remove
> >>          no_stdname.
> >>          * include/bits/version.h: Regenerate.
> >>          * testsuite/23_containers/mdspan/ftm.cc: Test presence
> >>          of FTM.
> >
> > Please spell this out in full as "feature test macro", there's no need
> > to use an initialism that some people won't recognise. (And the commit
> > summary line says "FMT" not "FTM" anyway ;-)
> >
> > I would also prefer the test to be called version.cc not ftm.cc as
> > that's what we use elsewhere.
> >
> > I think we can do that when pushing the commit though, we don't need
> > another patch for it.
> >
> > Thanks for getting <mdspan> done! Great work.
>
Same for me here: Thank you! This was a really huge amount of work.

>
> I never thought of it that way: spell it out to prevent
> typos.
>
> Thank you for fixing up the mistake when committing the
> patches. It's been a nice experience contributing to
> libstdc++! Thank you for the patience and thorough &
> friendly reviews.
>
Glad to hear that.

>
> I'll continue with the C++26 parts: padded layouts, sub-
> mdspan, etc.
>
Sounds good. Alternatively, looking into optimizing layouts before getting
submdspan also sounds reasonable. For submdspan we should also look into:
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3663r1.html
>
>
> >
> >>
> >> Signed-off-by: Luc Grosheintz <luc.groshei...@gmail.com>
> >> ---
> >>   libstdc++-v3/include/bits/version.def              | 3 +--
> >>   libstdc++-v3/include/bits/version.h                | 3 ++-
> >>   libstdc++-v3/testsuite/23_containers/mdspan/ftm.cc | 9 +++++++++
> >>   3 files changed, 12 insertions(+), 3 deletions(-)
> >>   create mode 100644 libstdc++-v3/testsuite/23_containers/mdspan/ftm.cc
> >>
> >> diff --git a/libstdc++-v3/include/bits/version.def
> b/libstdc++-v3/include/bits/version.def
> >> index 64f8190d240..f1015abdbfa 100644
> >> --- a/libstdc++-v3/include/bits/version.def
> >> +++ b/libstdc++-v3/include/bits/version.def
> >> @@ -1007,9 +1007,8 @@ ftms = {
> >>
> >>   ftms = {
> >>     name = mdspan;
> >> -  no_stdname = true; // FIXME: remove
> >>     values = {
> >> -    v = 1; // FIXME: 202207
> >> +    v = 202207;
> >>       cxxmin = 23;
> >>     };
> >>   };
> >> diff --git a/libstdc++-v3/include/bits/version.h
> b/libstdc++-v3/include/bits/version.h
> >> index 744246a9938..80f6586372d 100644
> >> --- a/libstdc++-v3/include/bits/version.h
> >> +++ b/libstdc++-v3/include/bits/version.h
> >> @@ -1126,8 +1126,9 @@
> >>
> >>   #if !defined(__cpp_lib_mdspan)
> >>   # if (__cplusplus >= 202100L)
> >> -#  define __glibcxx_mdspan 1L
> >> +#  define __glibcxx_mdspan 202207L
> >>   #  if defined(__glibcxx_want_all) || defined(__glibcxx_want_mdspan)
> >> +#   define __cpp_lib_mdspan 202207L
> >>   #  endif
> >>   # endif
> >>   #endif /* !defined(__cpp_lib_mdspan) &&
> defined(__glibcxx_want_mdspan) */
> >> diff --git a/libstdc++-v3/testsuite/23_containers/mdspan/ftm.cc
> b/libstdc++-v3/testsuite/23_containers/mdspan/ftm.cc
> >> new file mode 100644
> >> index 00000000000..106ee4010ee
> >> --- /dev/null
> >> +++ b/libstdc++-v3/testsuite/23_containers/mdspan/ftm.cc
> >> @@ -0,0 +1,9 @@
> >> +// { dg-do compile { target c++23 } }
> >> +#include <mdspan>
> >> +
> >> +#ifndef __cpp_lib_mdspan
> >> +#error "Feature test macro __cpp_lib_mdspan is missing for <mdspan>"
> >> +#if __cpp_lib_mdspan < 202207
> >> +#error "Feature test macro __cpp_lib_mdspan has the wrong value"
> >> +#endif
> >> +#endif
> >> --
> >> 2.49.0
> >>
> >
>
>

Reply via email to