This is the second iteration of:
https://gcc.gnu.org/pipermail/libstdc++/2025-July/062315.html

These patches can be applied cleanly after the dims patch; but might
conflict if applied before.

The changes include:

  - After discussion on the mailling list [1], the feature testing macro
    for is_sufficiently_aligned was added to
    20_util/headers/memory/version.cc

    The 20_util tests were run with GLIBCXX_TESTSUITE_STDS=17,20,23,26.

  - The features testing macro for aligned_accessor was added to
    mdspan/version.cc

  - The debug assertions for alignedness of the pointer passed to
    access and offset were removed, but the tests were retained.

  - Strengthen one test to check non-constructible (instead of not
    convertible).

  - Use the PR number in commits and this time sign-off on all of them
    (sorry!).

[1]: https://gcc.gnu.org/pipermail/libstdc++/2025-July/062628.html

Luc Grosheintz (3):
  libstdc++: Implement is_sufficiently_aligned [PR120994]
  libstdc++: Prepare test code for default_accessor for reuse.
  libstdc++: Implement aligned_accessor from mdspan [PR120994]

 libstdc++-v3/include/bits/align.h             |  16 ++
 libstdc++-v3/include/bits/version.def         |  18 ++
 libstdc++-v3/include/bits/version.h           |  20 +++
 libstdc++-v3/include/std/mdspan               |  68 +++++++
 libstdc++-v3/include/std/memory               |   1 +
 libstdc++-v3/src/c++23/std.cc.in              |   7 +-
 .../20_util/headers/memory/version.cc         |   5 +
 .../20_util/is_sufficiently_aligned/1.cc      |  31 ++++
 .../23_containers/mdspan/accessors/aligned.cc |  43 +++++
 .../mdspan/accessors/aligned_neg.cc           |  33 ++++
 .../accessors/debug/aligned_access_neg.cc     |  23 +++
 .../accessors/debug/aligned_offset_neg.cc     |  23 +++
 .../23_containers/mdspan/accessors/default.cc |  99 -----------
 .../23_containers/mdspan/accessors/generic.cc | 168 ++++++++++++++++++
 .../testsuite/23_containers/mdspan/version.cc |   8 +
 15 files changed, 462 insertions(+), 101 deletions(-)
 create mode 100644 libstdc++-v3/testsuite/20_util/is_sufficiently_aligned/1.cc
 create mode 100644 
libstdc++-v3/testsuite/23_containers/mdspan/accessors/aligned.cc
 create mode 100644 
libstdc++-v3/testsuite/23_containers/mdspan/accessors/aligned_neg.cc
 create mode 100644 
libstdc++-v3/testsuite/23_containers/mdspan/accessors/debug/aligned_access_neg.cc
 create mode 100644 
libstdc++-v3/testsuite/23_containers/mdspan/accessors/debug/aligned_offset_neg.cc
 delete mode 100644 
libstdc++-v3/testsuite/23_containers/mdspan/accessors/default.cc
 create mode 100644 
libstdc++-v3/testsuite/23_containers/mdspan/accessors/generic.cc

-- 
2.50.0

Reply via email to