Closed crtrott closed 1 year ago
Outstanding FIXMEs:
../../tests/libcxx-backports/layout_left/layout_left.static_requirements.pass.cpp: // static_assert(std::__mdspan_detail::__is_extents_v<E>); // FIXME
../../tests/libcxx-backports/layout_right/layout_right.static_requirements.pass.cpp: //static_assert(std::__mdspan_detail::__is_extents_v<E>); //FIXME
../../tests/libcxx-backports/layout_stride/CMakeLists.txt:#mdspan_add_test(layout_stride.extents.verify) //FIXME
../../tests/libcxx-backports/layout_stride/layout_stride.ctor.strided_mapping.pass.cpp: //test_layout<always_convertible_layout>(); //FIXME
../../tests/libcxx-backports/layout_stride/layout_stride.static_requirements.pass.cpp: //static_assert(std::__mdspan_detail::__is_extents_v<E>); //FIXME
../../tests/libcxx-backports/mdspan/CMakeLists.txt:#mdspan_add_test(mdspan.conversion.pass) //FIXME
../../tests/libcxx-backports/mdspan/CMakeLists.txt:#mdspan_add_test(mdspan.index_operator.pass) //FIXME
../../tests/libcxx-backports/mdspan/CMakeLists.txt:#mdspan_add_test(mdspan.swap.pass) //FIXME
../../tests/libcxx-backports/mdspan/mdspan.conversion.pass.cpp: // FIXME: these tests trigger what appears to be a compiler bug on MINGW32 with --target=x86_64-w64-windows-gnu
../../tests/libcxx-backports/mdspan/mdspan.ctor.copy.pass.cpp: //static_assert(noexcept(MDS(m_org)) == (noexcept(H(handle))&& noexcept(M(map))&& noexcept(A(acc)))); //FIXME
../../tests/libcxx-backports/mdspan/mdspan.ctor.default.pass.cpp: //static_assert(noexcept(MDS()) == (noexcept(H())&& noexcept(M())&& noexcept(A()))); //FIXME
../../tests/libcxx-backports/mdspan/mdspan.ctor.default.pass.cpp: // static_assert(test()); //FIXME
../../tests/libcxx-backports/mdspan/mdspan.ctor.dh_extents.pass.cpp: //static_assert(!std::is_constructible_v<MDS, const H&, const typename M::extents_type&>); //FIXME
../../tests/libcxx-backports/mdspan/mdspan.ctor.dh_span.pass.cpp: //test_mdspan_ctor<mec, ac>(handle, construct_mapping(layout, std::extents<int>()), acc); //FIXME
../../tests/libcxx-backports/mdspan/mdspan.ctor.dh_span.pass.cpp: //test_mdspan_ctor<mec, ac>(handle, construct_mapping(layout, std::extents<unsigned, 7>()), acc); //FIXME
../../tests/libcxx-backports/mdspan/mdspan.deduction.pass.cpp: //ASSERT_SAME_TYPE(decltype(std::mdspan(handle, 5, SizeTIntType(6))), std::mdspan<T, std::dextents<size_t, 2>>); //FIXME
../../tests/libcxx-backports/mdspan/mdspan.properties.pass.cpp: //ASSERT_SAME_TYPE(decltype(m.size()), typename MDS::size_type); //FIXME
../../tests/libcxx-backports/mdspan/mdspan.properties.pass.cpp: //assert(!noexcept(MDS::is_always_unique())); //FIXME
../../tests/libcxx-backports/mdspan/mdspan.properties.pass.cpp: //assert(!noexcept(MDS::is_always_exhaustive())); //FIXME
../../tests/libcxx-backports/mdspan/mdspan.properties.pass.cpp: //assert(!noexcept(MDS::is_always_strided())); //FIXME
../../tests/libcxx-backports/mdspan/mdspan.properties.pass.cpp: //assert(!noexcept(m.is_unique())); //FIXME
../../tests/libcxx-backports/mdspan/mdspan.properties.pass.cpp: //assert(!noexcept(m.is_exhaustive())); //FIXME
../../tests/libcxx-backports/mdspan/mdspan.properties.pass.cpp: //assert(!noexcept(m.is_strided())); //FIXME
../../tests/libcxx-backports/mdspan/mdspan.properties.pass.cpp: //static_assert(test()); //FIXME
This fixes most everything identified in the llvm tests which is wrong with our reference implementation, and where we haven't backported fixes yet from when we contributed our implementation to LLVM.
I haven't done mdspan yet.