<div dir="auto"><div><br><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Mon, 21 Jul 2025, 12:18 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">TLDR; there should be patches in review for everything reported<br>
here.<br>
<br>
Thank you for running the libc++ tests! Let me know if you change<br>
your mind and think it would be good if I learnt to run their tests.<br>
I'm optimistic (or deluded) I can eventually figure it out.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">We created a script to do it easily, which Patrick has been testing and he should be able to share it with you. You just need a bash script and a config file, then it's a single command. </div><div dir="auto"><br></div><div dir="auto">Now that I think of it, the script has a #!/bin/sh shebang which should be bash, but nevermind. </div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><br></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>
On 7/15/25 13:35, Jonathan Wakely wrote:<br>
> OK here are the details for all of the failing tests ...<br>
> <br>
> std/containers/views/mdspan/aligned_accessor/access.pass.cpp<br>
> std/containers/views/mdspan/aligned_accessor/ctor.conversion.from.default_accessor.pass.cpp<br>
> std/containers/views/mdspan/aligned_accessor/ctor.conversion.pass.cpp<br>
> std/containers/views/mdspan/aligned_accessor/ctor.default.pass.cpp<br>
> std/containers/views/mdspan/aligned_accessor/offset.pass.cpp<br>
> std/containers/views/mdspan/aligned_accessor/operator.conversion.to.default_accessor.pass.cpp<br>
> std/containers/views/mdspan/aligned_accessor/types.pass.cpp<br>
> <br>
> We don't support aligned_accessor yet.<br>
<br>
Currently in review (v2):<br>
<a href="https://gcc.gnu.org/pipermail/libstdc++/2025-July/062712.html" rel="noreferrer noreferrer" target="_blank">https://gcc.gnu.org/pipermail/libstdc++/2025-July/062712.html</a><br>
<br>
> <br>
> std/containers/views/mdspan/extents/ctor_from_array.pass.cpp<br>
> std/containers/views/mdspan/extents/ctor_from_span.pass.cpp<br>
> <br>
> These are both the same issue as Bug 121061:<br>
> static_assert(!std::is_constructible_v<std::dextents<int, 1>,<br>
> std::span<IntLike, 1>>);<br>
> <br>
> std/containers/views/mdspan/extents/dims.pass.cpp<br>
> <br>
> We don't support std:::dims<br>
<br>
Currently in review (v2):<br>
<a href="https://gcc.gnu.org/pipermail/libstdc++/2025-July/062709.html" rel="noreferrer noreferrer" target="_blank">https://gcc.gnu.org/pipermail/libstdc++/2025-July/062709.html</a><br>
<br>
> <br>
> std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp<br>
> <br>
> Somebody needs to analyze this one.<br>
<br>
Tomasz exlained it nicely.<br>
<br>
> <br>
> std/containers/views/mdspan/layout_stride/properties.pass.cpp<br>
> <br>
> This looks similar, is_always_exhaustive() is giving the wrong answer<br>
> in some case.<br>
<br>
IIUC, same argument applies.<br>
<br>
> <br>
> std/containers/views/mdspan/mdspan/ctor.default.pass.cpp<br>
> <br>
> This is checking for a noexcept default ctor.<br>
<br>
Patches submitted (v1):<br>
<a href="https://gcc.gnu.org/pipermail/libstdc++/2025-July/062719.html" rel="noreferrer noreferrer" target="_blank">https://gcc.gnu.org/pipermail/libstdc++/2025-July/062719.html</a><br>
<br>
> <br>
> std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp<br>
> std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp<br>
> <br>
> These are Bug 121061<br>
<br>
Fixes merged:<br>
<a href="https://gcc.gnu.org/pipermail/libstdc++/2025-July/062612.html" rel="noreferrer noreferrer" target="_blank">https://gcc.gnu.org/pipermail/libstdc++/2025-July/062612.html</a><br>
<br>
> <br>
> std/containers/views/mdspan/mdspan/index_operator.pass.cpp<br>
> <br>
> Dunno what's happening here:<br>
> <br>
> std/containers/views/mdspan/mdspan/index_operator.pass.cpp:178:46:<br>
> in 'constexpr' expansion of<br>
> 'check_operator_constraints<std::mdspan<int, std::extents<i<br>
> nt, 18446744073709551615>, std::layout_left,<br>
> std::default_accessor<int> >, std::array<IntConfig<false, true, true,<br>
> true>, 1> >(std::mdspan<int, std::extents<br>
> <int, 18446744073709551615>, std::layout_left,<br>
> std::default_accessor<int> >(((int*)(& data)),<br>
> construct_mapping<std::extents<int, 18446744073709551615> >((s<br>
> td::layout_left(), std::layout_left()), std::extents<int,<br>
> 18446744073709551615>(1))), std::array<IntConfig<false, true, true,<br>
> true>, 1>{std::__array_traits<<br>
> IntConfig<false, true, true, true>, 1>::_Type{IntConfig<false, true,<br>
> true, true>{0}}})'<br>
> /home/jwakely/gcc/16/include/c++/16.0.0/mdspan:1234:25: error: no<br>
> match for 'operator[]' (operand types are 'const std::mdspan<int,<br>
> std::extents<int, 184467<br>
> 44073709551615>, std::layout_left, std::default_accessor<int> >' and<br>
> 'std::span<const IntConfig<false, true, true, true>, 1>')<br>
> 1234 |         { return (*this)[span<const _OIndexType, rank()>(__indices)]; }<br>
>       |                  ~~~~~~~^<br>
> <br>
<br>
Same bug.<br>
<br>
> <br>
> std/containers/views/mdspan/mdspan/properties.pass.cpp<br>
> <br>
> Many many failures like this:<br>
> <br>
> std/containers/views/mdspan/mdspan/properties.pass.cpp:146:17: error:<br>
> static assertion failed<br>
>   146 |   static_assert(noexcept(MDS::is_always_unique()));<br>
>       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
> std/containers/views/mdspan/mdspan/properties.pass.cpp:146:17: note:<br>
> 'false' evaluates to false<br>
> std/containers/views/mdspan/mdspan/properties.pass.cpp:147:17: error:<br>
> static assertion failed<br>
>   147 |   static_assert(noexcept(MDS::is_always_exhaustive()));<br>
>       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
> std/containers/views/mdspan/mdspan/properties.pass.cpp:147:17: note:<br>
> 'false' evaluates to false<br>
> std/containers/views/mdspan/mdspan/properties.pass.cpp:148:17: error:<br>
> static assertion failed<br>
>   148 |   static_assert(noexcept(MDS::is_always_strided()));<br>
>       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
> <br>
<br>
Submitted patches:<br>
<a href="https://gcc.gnu.org/pipermail/libstdc++/2025-July/062718.html" rel="noreferrer noreferrer" target="_blank">https://gcc.gnu.org/pipermail/libstdc++/2025-July/062718.html</a><br>
<br>
</blockquote></div></div></div>