diff options
author | Louis Dionne <ldionne.2@gmail.com> | 2021-07-08 14:39:15 -0400 |
---|---|---|
committer | Louis Dionne <ldionne.2@gmail.com> | 2021-07-08 14:40:18 -0400 |
commit | 74fb868942c8c126a69a09c0503041b7573f68e0 (patch) | |
tree | f7681c4aba5e644f92228d28c72638948eb50c91 | |
parent | 693251fb2f001ac06591ae7d1254be265d36c9c7 (diff) | |
download | llvm-74fb868942c8c126a69a09c0503041b7573f68e0.zip llvm-74fb868942c8c126a69a09c0503041b7573f68e0.tar.gz llvm-74fb868942c8c126a69a09c0503041b7573f68e0.tar.bz2 |
[libc++] Add XFAIL for Clang ToT with modules
This is what I should have done instead of 6afd6e96ce20.
6 files changed, 12 insertions, 9 deletions
diff --git a/libcxx/include/__iterator/advance.h b/libcxx/include/__iterator/advance.h index a903e45..4971beb 100644 --- a/libcxx/include/__iterator/advance.h +++ b/libcxx/include/__iterator/advance.h @@ -178,9 +178,6 @@ public: _LIBCPP_UNREACHABLE(); } - - // TODO: Remove this workaround for broken Clang modules. - using __function_like::operator&; }; inline constexpr auto advance = __advance_fn(__function_like::__tag()); diff --git a/libcxx/include/__iterator/next.h b/libcxx/include/__iterator/next.h index 5db5b2f..af719e3 100644 --- a/libcxx/include/__iterator/next.h +++ b/libcxx/include/__iterator/next.h @@ -68,9 +68,6 @@ struct __next_fn final : private __function_like { ranges::advance(__x, __n, __bound); return __x; } - - // TODO: Remove this workaround for broken Clang modules. - using __function_like::operator&; }; inline constexpr auto next = __next_fn(__function_like::__tag()); diff --git a/libcxx/include/__iterator/prev.h b/libcxx/include/__iterator/prev.h index 1fc2b9c..f1ba2be 100644 --- a/libcxx/include/__iterator/prev.h +++ b/libcxx/include/__iterator/prev.h @@ -61,9 +61,6 @@ struct __prev_fn final : private __function_like { ranges::advance(__x, -__n, __bound); return __x; } - - // TODO: Remove this workaround for broken Clang modules. - using __function_like::operator&; }; inline constexpr auto prev = __prev_fn(__function_like::__tag()); diff --git a/libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/special_function.compile.pass.cpp b/libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/special_function.compile.pass.cpp index d1e5bb0..281486c 100644 --- a/libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/special_function.compile.pass.cpp +++ b/libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/special_function.compile.pass.cpp @@ -9,8 +9,12 @@ // UNSUPPORTED: c++03, c++11, c++14, c++17 // UNSUPPORTED: libcpp-no-concepts // UNSUPPORTED: gcc-10 + +// Clang has a bug when modules are enabled that causes `__function_like::operator&` +// not to be picked up by the derived class. // XFAIL: clang-11 && modules-build // XFAIL: clang-12 && modules-build +// XFAIL: clang-13 && modules-build // ranges::advance diff --git a/libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/special_function.compile.pass.cpp b/libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/special_function.compile.pass.cpp index 91132c9..4de702f 100644 --- a/libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/special_function.compile.pass.cpp +++ b/libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/special_function.compile.pass.cpp @@ -9,8 +9,12 @@ // UNSUPPORTED: c++03, c++11, c++14, c++17 // UNSUPPORTED: libcpp-no-concepts // UNSUPPORTED: gcc-10 + +// Clang has a bug when modules are enabled that causes `__function_like::operator&` +// not to be picked up by the derived class. // XFAIL: clang-11 && modules-build // XFAIL: clang-12 && modules-build +// XFAIL: clang-13 && modules-build // ranges::next diff --git a/libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/special_function.compile.pass.cpp b/libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/special_function.compile.pass.cpp index 68ed266..4e949a6 100644 --- a/libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/special_function.compile.pass.cpp +++ b/libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/special_function.compile.pass.cpp @@ -9,8 +9,12 @@ // UNSUPPORTED: c++03, c++11, c++14, c++17 // UNSUPPORTED: libcpp-no-concepts // UNSUPPORTED: gcc-10 + +// Clang has a bug when modules are enabled that causes `__function_like::operator&` +// not to be picked up by the derived class. // XFAIL: clang-11 && modules-build // XFAIL: clang-12 && modules-build +// XFAIL: clang-13 && modules-build // ranges::prev |