TLDR; there should be patches in review for everything reported
here.

Thank you for running the libc++ tests! Let me know if you change
your mind and think it would be good if I learnt to run their tests.
I'm optimistic (or deluded) I can eventually figure it out.

On 7/15/25 13:35, Jonathan Wakely wrote:
OK here are the details for all of the failing tests ...

std/containers/views/mdspan/aligned_accessor/access.pass.cpp
std/containers/views/mdspan/aligned_accessor/ctor.conversion.from.default_accessor.pass.cpp
std/containers/views/mdspan/aligned_accessor/ctor.conversion.pass.cpp
std/containers/views/mdspan/aligned_accessor/ctor.default.pass.cpp
std/containers/views/mdspan/aligned_accessor/offset.pass.cpp
std/containers/views/mdspan/aligned_accessor/operator.conversion.to.default_accessor.pass.cpp
std/containers/views/mdspan/aligned_accessor/types.pass.cpp

We don't support aligned_accessor yet.

Currently in review (v2):
https://gcc.gnu.org/pipermail/libstdc++/2025-July/062712.html


std/containers/views/mdspan/extents/ctor_from_array.pass.cpp
std/containers/views/mdspan/extents/ctor_from_span.pass.cpp

These are both the same issue as Bug 121061:
static_assert(!std::is_constructible_v<std::dextents<int, 1>,
std::span<IntLike, 1>>);

std/containers/views/mdspan/extents/dims.pass.cpp

We don't support std:::dims

Currently in review (v2):
https://gcc.gnu.org/pipermail/libstdc++/2025-July/062709.html


std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp

Somebody needs to analyze this one.

Tomasz exlained it nicely.


std/containers/views/mdspan/layout_stride/properties.pass.cpp

This looks similar, is_always_exhaustive() is giving the wrong answer
in some case.

IIUC, same argument applies.


std/containers/views/mdspan/mdspan/ctor.default.pass.cpp

This is checking for a noexcept default ctor.

Patches submitted (v1):
https://gcc.gnu.org/pipermail/libstdc++/2025-July/062719.html


std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp

These are Bug 121061

Fixes merged:
https://gcc.gnu.org/pipermail/libstdc++/2025-July/062612.html


std/containers/views/mdspan/mdspan/index_operator.pass.cpp

Dunno what's happening here:

std/containers/views/mdspan/mdspan/index_operator.pass.cpp:178:46:
in 'constexpr' expansion of
'check_operator_constraints<std::mdspan<int, std::extents<i
nt, 18446744073709551615>, std::layout_left,
std::default_accessor<int> >, std::array<IntConfig<false, true, true,
true>, 1> >(std::mdspan<int, std::extents
<int, 18446744073709551615>, std::layout_left,
std::default_accessor<int> >(((int*)(& data)),
construct_mapping<std::extents<int, 18446744073709551615> >((s
td::layout_left(), std::layout_left()), std::extents<int,
18446744073709551615>(1))), std::array<IntConfig<false, true, true,
true>, 1>{std::__array_traits<
IntConfig<false, true, true, true>, 1>::_Type{IntConfig<false, true,
true, true>{0}}})'
/home/jwakely/gcc/16/include/c++/16.0.0/mdspan:1234:25: error: no
match for 'operator[]' (operand types are 'const std::mdspan<int,
std::extents<int, 184467
44073709551615>, std::layout_left, std::default_accessor<int> >' and
'std::span<const IntConfig<false, true, true, true>, 1>')
1234 |         { return (*this)[span<const _OIndexType, rank()>(__indices)]; }
      |                  ~~~~~~~^


Same bug.


std/containers/views/mdspan/mdspan/properties.pass.cpp

Many many failures like this:

std/containers/views/mdspan/mdspan/properties.pass.cpp:146:17: error:
static assertion failed
  146 |   static_assert(noexcept(MDS::is_always_unique()));
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
std/containers/views/mdspan/mdspan/properties.pass.cpp:146:17: note:
'false' evaluates to false
std/containers/views/mdspan/mdspan/properties.pass.cpp:147:17: error:
static assertion failed
  147 |   static_assert(noexcept(MDS::is_always_exhaustive()));
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
std/containers/views/mdspan/mdspan/properties.pass.cpp:147:17: note:
'false' evaluates to false
std/containers/views/mdspan/mdspan/properties.pass.cpp:148:17: error:
static assertion failed
  148 |   static_assert(noexcept(MDS::is_always_strided()));
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Submitted patches:
https://gcc.gnu.org/pipermail/libstdc++/2025-July/062718.html

Reply via email to