aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLouis Dionne <ldionne.2@gmail.com>2021-07-08 14:39:15 -0400
committerLouis Dionne <ldionne.2@gmail.com>2021-07-08 14:40:18 -0400
commit74fb868942c8c126a69a09c0503041b7573f68e0 (patch)
treef7681c4aba5e644f92228d28c72638948eb50c91
parent693251fb2f001ac06591ae7d1254be265d36c9c7 (diff)
downloadllvm-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.
-rw-r--r--libcxx/include/__iterator/advance.h3
-rw-r--r--libcxx/include/__iterator/next.h3
-rw-r--r--libcxx/include/__iterator/prev.h3
-rw-r--r--libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/special_function.compile.pass.cpp4
-rw-r--r--libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/special_function.compile.pass.cpp4
-rw-r--r--libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/special_function.compile.pass.cpp4
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