diff options
Diffstat (limited to 'libcxx/test/std')
242 files changed, 879 insertions, 407 deletions
diff --git a/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp b/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp index cfcaf1c8a6dd..3c9cf9bd6100 100644 --- a/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp +++ b/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp @@ -114,7 +114,7 @@ TEST_CONSTEXPR_CXX20 bool test() { // Validate std::copy with std::vector<bool> iterators and custom storage types. // Ensure that assigned bits hold the intended values, while unassigned bits stay unchanged. - // Related issue: https://github.com/llvm/llvm-project/issues/131692. + // Related issue: https://llvm.org/PR131692. { //// Tests for std::copy with aligned bits diff --git a/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp b/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp index def192d4d663..b921591c1962 100644 --- a/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp +++ b/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp @@ -116,7 +116,7 @@ TEST_CONSTEXPR_CXX20 bool test() { // Validate std::copy_backward with std::vector<bool> iterators and custom storage types. // Ensure that assigned bits hold the intended values, while unassigned bits stay unchanged. - // Related issue: https://github.com/llvm/llvm-project/issues/131718. + // Related issue: https://llvm.org/PR131718. { //// Tests for std::copy_backward with aligned bits diff --git a/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp b/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp index f541c914b401..0e0fbf39602d 100644 --- a/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp +++ b/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp @@ -241,7 +241,7 @@ constexpr bool test() { // Validate std::ranges::copy with std::vector<bool> iterators and custom storage types. // Ensure that assigned bits hold the intended values, while unassigned bits stay unchanged. - // Related issue: https://github.com/llvm/llvm-project/issues/131692. + // Related issue: https://llvm.org/PR131692. { //// Tests for std::ranges::copy with aligned bits diff --git a/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp b/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp index e7251ab905db..46beea04aa2f 100644 --- a/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp +++ b/libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp @@ -359,7 +359,7 @@ constexpr bool test() { // Validate std::ranges::copy_backward with std::vector<bool> iterators and custom storage types. // Ensure that assigned bits hold the intended values, while unassigned bits stay unchanged. - // Related issue: https://github.com/llvm/llvm-project/issues/131718. + // Related issue: https://llvm.org/PR131718. { //// Tests for std::ranges::copy_backward with aligned bits diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp index 7bc61a9b7f71..e696dcdb3435 100644 --- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp +++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp @@ -56,7 +56,7 @@ TEST_CONSTEXPR_CXX20 bool test() { } // Fix std::count for std::vector<bool> with small storage types, e.g., std::uint16_t, unsigned short. - // See https://github.com/llvm/llvm-project/issues/122528 + // See https://llvm.org/PR122528 { using Alloc = sized_allocator<bool, std::uint8_t, std::int8_t>; std::vector<bool, Alloc> in(100, true, Alloc(1)); diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.count/ranges.count.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.count/ranges.count.pass.cpp index ab9d6a09faeb..2c1346a74374 100644 --- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.count/ranges.count.pass.cpp +++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.count/ranges.count.pass.cpp @@ -285,7 +285,7 @@ constexpr bool test() { } // Fix std::ranges::count for std::vector<bool> with small storage types, e.g., std::uint16_t, unsigned short. - // See https://github.com/llvm/llvm-project/issues/122528 + // See https://llvm.org/PR122528 { using Alloc = sized_allocator<bool, std::uint8_t, std::int8_t>; std::vector<bool, Alloc> in(100, true, Alloc(1)); diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp index 859532d4b79c..a041e38a4838 100644 --- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp +++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp @@ -178,7 +178,7 @@ TEST_CONSTEXPR_CXX20 bool test() { } // Make sure std::equal behaves properly with std::vector<bool> iterators with custom size types. - // See issue: https://github.com/llvm/llvm-project/issues/126369. + // See issue: https://llvm.org/PR126369. { //// Tests for std::equal with aligned bits diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp index 3f3af71de6a1..8f35a3cf3458 100644 --- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp +++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp @@ -446,7 +446,7 @@ constexpr bool test() { } // Make sure std::equal behaves properly with std::vector<bool> iterators with custom size types. - // See issue: https://github.com/llvm/llvm-project/issues/126369. + // See issue: https://llvm.org/PR126369. { //// Tests for std::equal with aligned bits diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp index 989edcb3f6ee..c32abce72046 100644 --- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp +++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp @@ -244,7 +244,7 @@ TEST_CONSTEXPR_CXX20 bool test() { } // Verify that the std::vector<bool>::iterator optimization works properly for allocators with custom size types - // Fix https://github.com/llvm/llvm-project/issues/122528 + // Fix https://llvm.org/PR122528 { using Alloc = sized_allocator<bool, std::uint8_t, std::int8_t>; std::vector<bool, Alloc> in(100, false, Alloc(1)); diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp index d7e6be9928a2..5b4abc45b6f4 100644 --- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp +++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp @@ -219,7 +219,7 @@ constexpr bool test() { } // Verify that the std::vector<bool>::iterator optimization works properly for allocators with custom size types - // See https://github.com/llvm/llvm-project/issues/122528 + // See https://llvm.org/PR122528 { using Alloc = sized_allocator<bool, std::uint8_t, std::int8_t>; std::vector<bool, Alloc> in(100, false, Alloc(1)); diff --git a/libcxx/test/std/algorithms/algorithms.results/out_value_result.pass.cpp b/libcxx/test/std/algorithms/algorithms.results/out_value_result.pass.cpp index 7bdbb7f60e9a..9f45976c2968 100644 --- a/libcxx/test/std/algorithms/algorithms.results/out_value_result.pass.cpp +++ b/libcxx/test/std/algorithms/algorithms.results/out_value_result.pass.cpp @@ -123,7 +123,7 @@ constexpr bool test() { static_assert(std::is_same_v<double, decltype(res.value)>); } { - // Check aggregate initiazliation + // Check aggregate initialization out_value_result<int, int> res = {1, 2}; assert(res.out == 1); assert(res.value == 2); diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp index b3b90af0b497..687b324f3f19 100644 --- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp +++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp @@ -56,7 +56,7 @@ void test() { int main(int, char**) { test<float>(); test<double>(); - // TODO https://github.com/llvm/llvm-project/issues/47978 + // TODO https://llvm.org/PR48634 // test<long double>(); return 0; diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp index 2f84f26b9f7d..e741e2283251 100644 --- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp +++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp @@ -219,7 +219,7 @@ void test() { int main(int, char**) { test<float>(); test<double>(); - // TODO https://github.com/llvm/llvm-project/issues/47978 + // TODO https://llvm.org/PR48634 // test<long double>(); return 0; diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp index 5a39ec761f34..4b686a2d79ed 100644 --- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp +++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp @@ -67,7 +67,7 @@ void testBasic(MemoryOrder... memory_order) { assert(a.load() == T(1.2)); // bug - // TODO https://github.com/llvm/llvm-project/issues/47978 + // TODO https://llvm.org/PR48634 if constexpr (!std::same_as<T, long double>) { assert(expected == T(1.2)); } @@ -235,7 +235,7 @@ int main(int, char**) { test<float>(); test<double>(); - // TODO https://github.com/llvm/llvm-project/issues/47978 + // TODO https://llvm.org/PR48634 // test<long double>(); return 0; diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp index d1828b1a9b74..42f00ed35f3c 100644 --- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp +++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp @@ -55,7 +55,7 @@ constexpr void testOne() { constexpr bool test() { testOne<float>(); testOne<double>(); - // TODO https://github.com/llvm/llvm-project/issues/47978 + // TODO https://llvm.org/PR48634 // testOne<long double>(); return true; } diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp index 1e74165602d8..ba90119fb0ec 100644 --- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp +++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp @@ -69,7 +69,7 @@ void test() { int main(int, char**) { test<float>(); test<double>(); - // TODO https://github.com/llvm/llvm-project/issues/47978 + // TODO https://llvm.org/PR48634 // test<long double>(); return 0; diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp index 1b426959475a..f82fdf70bb23 100644 --- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp +++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp @@ -8,7 +8,7 @@ // UNSUPPORTED: c++03, c++11, c++14, c++17 // XFAIL: !has-64-bit-atomics -// https://github.com/llvm/llvm-project/issues/72893 +// https://llvm.org/PR72893 // XFAIL: target={{x86_64-.*}} && tsan // floating-point-type fetch_add(floating-point-type, @@ -112,7 +112,7 @@ void test() { int main(int, char**) { test<float>(); test<double>(); - // TODO https://github.com/llvm/llvm-project/issues/47978 + // TODO https://llvm.org/PR48634 // test<long double>(); return 0; diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp index cac7352646fa..72fcc868072e 100644 --- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp +++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp @@ -8,7 +8,7 @@ // UNSUPPORTED: c++03, c++11, c++14, c++17 // XFAIL: !has-64-bit-atomics -// https://github.com/llvm/llvm-project/issues/72893 +// https://llvm.org/PR72893 // XFAIL: target={{x86_64-.*}} && tsan // floating-point-type fetch_sub(floating-point-type, @@ -113,7 +113,7 @@ void test() { int main(int, char**) { test<float>(); test<double>(); - // TODO https://github.com/llvm/llvm-project/issues/47978 + // TODO https://llvm.org/PR48634 // test<long double>(); return 0; diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp index 2648b2914c1a..695fd593b51e 100644 --- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp +++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp @@ -132,7 +132,7 @@ void test() { int main(int, char**) { test<float>(); test<double>(); - // TODO https://github.com/llvm/llvm-project/issues/47978 + // TODO https://llvm.org/PR48634 // test<long double>(); return 0; diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp index 95835c0030d3..84cd0a28b08b 100644 --- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp +++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp @@ -54,7 +54,7 @@ void test() { int main(int, char**) { test<float>(); test<double>(); - // TODO https://github.com/llvm/llvm-project/issues/47978 + // TODO https://llvm.org/PR48634 // test<long double>(); return 0; diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp index 1e0be68da263..cddf7788e631 100644 --- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp +++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp @@ -92,7 +92,7 @@ void test() { int main(int, char**) { test<float>(); test<double>(); - // TODO https://github.com/llvm/llvm-project/issues/47978 + // TODO https://llvm.org/PR48634 // test<long double>(); return 0; diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp index 7b5e668af026..da4c69280ffe 100644 --- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp +++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp @@ -76,7 +76,7 @@ void test() { int main(int, char**) { test<float>(); test<double>(); - // TODO https://github.com/llvm/llvm-project/issues/47978 + // TODO https://llvm.org/PR48634 // test<long double>(); return 0; diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp index 268f0343f3be..1f0890606574 100644 --- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp +++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp @@ -52,7 +52,7 @@ void test() { int main(int, char**) { test<float>(); test<double>(); - // TODO https://github.com/llvm/llvm-project/issues/47978 + // TODO https://llvm.org/PR48634 // test<long double>(); return 0; diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp index d38a2d2ed197..ac24e2842032 100644 --- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp +++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp @@ -95,7 +95,7 @@ void test() { int main(int, char**) { test<float>(); test<double>(); - // TODO https://github.com/llvm/llvm-project/issues/47978 + // TODO https://llvm.org/PR48634 // test<long double>(); return 0; diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp index c53b0320036b..b80ea2390461 100644 --- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp +++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp @@ -95,7 +95,7 @@ void test() { int main(int, char**) { test<float>(); test<double>(); - // TODO https://github.com/llvm/llvm-project/issues/47978 + // TODO https://llvm.org/PR48634 // test<long double>(); return 0; diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp index ad354f6630a3..34bd09e945f9 100644 --- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp +++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp @@ -106,7 +106,7 @@ void test() { int main(int, char**) { test<float>(); test<double>(); - // TODO https://github.com/llvm/llvm-project/issues/47978 + // TODO https://llvm.org/PR48634 // test<long double>(); return 0; diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp index 500bcc879efc..32c67cc4762c 100644 --- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp +++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp @@ -117,7 +117,7 @@ void test() { int main(int, char**) { test<float>(); test<double>(); - // TODO https://github.com/llvm/llvm-project/issues/47978 + // TODO https://llvm.org/PR48634 // test<long double>(); return 0; diff --git a/libcxx/test/std/atomics/types.pass.cpp b/libcxx/test/std/atomics/types.pass.cpp index 8737694e2a07..c979392290b3 100644 --- a/libcxx/test/std/atomics/types.pass.cpp +++ b/libcxx/test/std/atomics/types.pass.cpp @@ -68,7 +68,7 @@ struct test_atomic<T, /*Integral=*/true, false, false> { }; template <class T> -struct test_atomic<T, false, /*Foating=*/true, false> { +struct test_atomic<T, false, /*Floating=*/true, false> { test_atomic() { using A = std::atomic<T>; A a; diff --git a/libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp b/libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp index e01a10b679ac..56c6cdd7e1e9 100644 --- a/libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp +++ b/libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp @@ -70,7 +70,7 @@ template <class Alloc, class AllocatorInvariant = NoOp> void test_alloc(const Alloc& lhs_alloc = Alloc(), const Alloc& rhs_alloc = Alloc(), AllocatorInvariant check_alloc_invariant = NoOp()) { - { // Test empty/non-empy map combinations + { // Test empty/non-empty map combinations { // assign from a non-empty container into an empty one using V = std::pair<const int, int>; using Map = std::map<int, int, std::less<int>, Alloc>; @@ -225,7 +225,7 @@ void test_alloc(const Alloc& lhs_alloc = Alloc(), } check_alloc_invariant(); } - { // Make a somewhat larget set to exercise the algorithm a bit + { // Make a somewhat larger set to exercise the algorithm a bit using V = std::pair<const int, int>; using Map = std::map<int, int, std::less<int>, Alloc>; diff --git a/libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_iter.pass.cpp b/libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_iter.pass.cpp index 0baff65f6193..dfbeb33698e6 100644 --- a/libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_iter.pass.cpp +++ b/libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_iter.pass.cpp @@ -13,64 +13,188 @@ // template <class InputIterator> // void insert(InputIterator first, InputIterator last); -#include <map> +#include <array> #include <cassert> +#include <map> -#include "test_macros.h" #include "test_iterators.h" #include "min_allocator.h" -int main(int, char**) { - { - typedef std::map<int, double> M; - typedef std::pair<int, double> P; - P ar[] = { - P(1, 1), - P(1, 1.5), - P(1, 2), - P(2, 1), - P(2, 1.5), - P(2, 2), - P(3, 1), - P(3, 1.5), - P(3, 2), - }; - M m; - m.insert(cpp17_input_iterator<P*>(ar), cpp17_input_iterator<P*>(ar + sizeof(ar) / sizeof(ar[0]))); - assert(m.size() == 3); - assert(m.begin()->first == 1); - assert(m.begin()->second == 1); - assert(std::next(m.begin())->first == 2); - assert(std::next(m.begin())->second == 1); - assert(std::next(m.begin(), 2)->first == 3); - assert(std::next(m.begin(), 2)->second == 1); +template <class Iter, class Alloc> +void test_alloc() { + { // Check that an empty range works correctly + { // Without elements in the container + using Map = std::map<int, int, std::less<int>, Alloc>; + + std::array<std::pair<const int, int>, 0> arr; + + Map map; + map.insert(Iter(arr.data()), Iter(arr.data() + arr.size())); + assert(map.size() == 0); + assert(map.begin() == map.end()); + } + { // With 1 element in the container + using Map = std::map<int, int, std::less<int>, Alloc>; + using Pair = std::pair<const int, int>; + + std::array<Pair, 0> arr; + + Map map; + map.insert(Pair(0, 0)); + map.insert(Iter(arr.data()), Iter(arr.data() + arr.size())); + assert(map.size() == 1); + assert(*std::next(map.begin(), 0) == Pair(0, 0)); + assert(std::next(map.begin(), 1) == map.end()); + } + { // With multiple elements in the container + using Map = std::map<int, int, std::less<int>, Alloc>; + using Pair = std::pair<const int, int>; + + std::array<Pair, 0> arr; + + Map map; + map.insert(Pair(0, 0)); + map.insert(Pair(1, 1)); + map.insert(Pair(2, 2)); + map.insert(Iter(arr.data()), Iter(arr.data() + arr.size())); + assert(map.size() == 3); + assert(*std::next(map.begin(), 0) == Pair(0, 0)); + assert(*std::next(map.begin(), 1) == Pair(1, 1)); + assert(*std::next(map.begin(), 2) == Pair(2, 2)); + assert(std::next(map.begin(), 3) == map.end()); + } } -#if TEST_STD_VER >= 11 - { - typedef std::map<int, double, std::less<int>, min_allocator<std::pair<const int, double>>> M; - typedef std::pair<int, double> P; - P ar[] = { - P(1, 1), - P(1, 1.5), - P(1, 2), - P(2, 1), - P(2, 1.5), - P(2, 2), - P(3, 1), - P(3, 1.5), - P(3, 2), - }; - M m; - m.insert(cpp17_input_iterator<P*>(ar), cpp17_input_iterator<P*>(ar + sizeof(ar) / sizeof(ar[0]))); - assert(m.size() == 3); - assert(m.begin()->first == 1); - assert(m.begin()->second == 1); - assert(std::next(m.begin())->first == 2); - assert(std::next(m.begin())->second == 1); - assert(std::next(m.begin(), 2)->first == 3); - assert(std::next(m.begin(), 2)->second == 1); + { // Check that 1 element is inserted correctly + { // Without elements in the container + using Map = std::map<int, int, std::less<int>, Alloc>; + using Pair = std::pair<const int, int>; + + Pair arr[] = {Pair(1, 1)}; + + Map map; + map.insert(Iter(std::begin(arr)), Iter(std::end(arr))); + assert(map.size() == 1); + assert(*std::next(map.begin(), 0) == Pair(1, 1)); + assert(std::next(map.begin(), 1) == map.end()); + } + { // With 1 element in the container - a different key + using Map = std::map<int, int, std::less<int>, Alloc>; + using Pair = std::pair<const int, int>; + + Pair arr[] = {Pair(1, 1)}; + + Map map; + map.insert(Pair(0, 0)); + map.insert(Iter(std::begin(arr)), Iter(std::end(arr))); + assert(map.size() == 2); + assert(*std::next(map.begin(), 0) == Pair(0, 0)); + assert(*std::next(map.begin(), 1) == Pair(1, 1)); + assert(std::next(map.begin(), 2) == map.end()); + } + { // With 1 element in the container - the same key + using Map = std::map<int, int, std::less<int>, Alloc>; + using Pair = std::pair<const int, int>; + + Pair arr[] = {Pair(1, 1)}; + + Map map; + map.insert(Pair(1, 2)); + map.insert(Iter(std::begin(arr)), Iter(std::end(arr))); + assert(map.size() == 1); + assert(*std::next(map.begin(), 0) == Pair(1, 2)); + assert(std::next(map.begin(), 1) == map.end()); + } + { // With multiple elements in the container + using Map = std::map<int, int, std::less<int>, Alloc>; + using Pair = std::pair<const int, int>; + + Pair arr[] = {Pair(1, 1)}; + + Map map; + map.insert(Pair(0, 0)); + map.insert(Pair(1, 1)); + map.insert(Pair(2, 2)); + map.insert(Iter(std::begin(arr)), Iter(std::end(arr))); + assert(map.size() == 3); + assert(*std::next(map.begin(), 0) == Pair(0, 0)); + assert(*std::next(map.begin(), 1) == Pair(1, 1)); + assert(*std::next(map.begin(), 2) == Pair(2, 2)); + assert(std::next(map.begin(), 3) == map.end()); + } } -#endif + { // Check that multiple elements are inserted correctly + { // Without elements in the container + using Map = std::map<int, int, std::less<int>, Alloc>; + using Pair = std::pair<const int, int>; + + Pair arr[] = {Pair(1, 1), Pair(1, 1), Pair(3, 3)}; + + Map map; + map.insert(Iter(std::begin(arr)), Iter(std::end(arr))); + assert(map.size() == 2); + assert(*std::next(map.begin(), 0) == Pair(1, 1)); + assert(*std::next(map.begin(), 1) == Pair(3, 3)); + assert(std::next(map.begin(), 2) == map.end()); + } + { // With 1 element in the container - a different key + using Map = std::map<int, int, std::less<int>, Alloc>; + using Pair = std::pair<const int, int>; + + Pair arr[] = {Pair(1, 1), Pair(1, 1), Pair(3, 3)}; + + Map map; + map.insert(Pair(0, 0)); + map.insert(Iter(std::begin(arr)), Iter(std::end(arr))); + assert(map.size() == 3); + assert(*std::next(map.begin(), 0) == Pair(0, 0)); + assert(*std::next(map.begin(), 1) == Pair(1, 1)); + assert(*std::next(map.begin(), 2) == Pair(3, 3)); + assert(std::next(map.begin(), 3) == map.end()); + } + { // With 1 element in the container - the same key + using Map = std::map<int, int, std::less<int>, Alloc>; + using Pair = std::pair<const int, int>; + + Pair arr[] = {Pair(1, 1), Pair(2, 2), Pair(3, 3)}; + + Map map; + map.insert(Pair(1, 1)); + map.insert(Iter(std::begin(arr)), Iter(std::end(arr))); + assert(map.size() == 3); + assert(*std::next(map.begin(), 0) == Pair(1, 1)); + assert(*std::next(map.begin(), 1) == Pair(2, 2)); + assert(*std::next(map.begin(), 2) == Pair(3, 3)); + assert(std::next(map.begin(), 3) == map.end()); + } + { // With multiple elements in the container + using Map = std::map<int, int, std::less<int>, Alloc>; + using Pair = std::pair<const int, int>; + + Pair arr[] = {Pair(1, 1), Pair(3, 3), Pair(4, 4)}; + + Map map; + map.insert(Pair(0, 0)); + map.insert(Pair(1, 1)); + map.insert(Pair(2, 2)); + map.insert(Iter(std::begin(arr)), Iter(std::end(arr))); + assert(map.size() == 5); + assert(*std::next(map.begin(), 0) == Pair(0, 0)); + assert(*std::next(map.begin(), 1) == Pair(1, 1)); + assert(*std::next(map.begin(), 2) == Pair(2, 2)); + assert(*std::next(map.begin(), 3) == Pair(3, 3)); + assert(*std::next(map.begin(), 4) == Pair(4, 4)); + assert(std::next(map.begin(), 5) == map.end()); + } + } +} + +void test() { + test_alloc<cpp17_input_iterator<std::pair<const int, int>*>, std::allocator<std::pair<const int, int> > >(); + test_alloc<cpp17_input_iterator<std::pair<const int, int>*>, min_allocator<std::pair<const int, int> > >(); +} + +int main(int, char**) { + test(); return 0; } diff --git a/libcxx/test/std/containers/associative/multimap/multimap.cons/copy_assign.pass.cpp b/libcxx/test/std/containers/associative/multimap/multimap.cons/copy_assign.pass.cpp index 5830283e9b0c..e52da3a4a631 100644 --- a/libcxx/test/std/containers/associative/multimap/multimap.cons/copy_assign.pass.cpp +++ b/libcxx/test/std/containers/associative/multimap/multimap.cons/copy_assign.pass.cpp @@ -68,7 +68,7 @@ template <class Alloc, class AllocatorInvariant = NoOp> void test_alloc(const Alloc& lhs_alloc = Alloc(), const Alloc& rhs_alloc = Alloc(), AllocatorInvariant check_alloc_invariant = NoOp()) { - { // Test empty/non-empy multimap combinations + { // Test empty/non-empty multimap combinations { // assign from a non-empty container into an empty one using V = std::pair<const int, int>; using Map = std::multimap<int, int, std::less<int>, Alloc>; @@ -223,7 +223,7 @@ void test_alloc(const Alloc& lhs_alloc = Alloc(), } check_alloc_invariant(); } - { // Make a somewhat larget set to exercise the algorithm a bit + { // Make a somewhat larger set to exercise the algorithm a bit using V = std::pair<const int, int>; using Map = std::multimap<int, int, std::less<int>, Alloc>; diff --git a/libcxx/test/std/containers/associative/multiset/emplace.pass.cpp b/libcxx/test/std/containers/associative/multiset/emplace.pass.cpp index bddfd8f62143..97cae1c56521 100644 --- a/libcxx/test/std/containers/associative/multiset/emplace.pass.cpp +++ b/libcxx/test/std/containers/associative/multiset/emplace.pass.cpp @@ -15,12 +15,12 @@ // template <class... Args> // iterator emplace(Args&&... args); -#include <set> #include <cassert> +#include <set> -#include "test_macros.h" #include "../../Emplaceable.h" #include "DefaultOnly.h" +#include "MoveOnly.h" #include "min_allocator.h" int main(int, char**) { @@ -77,6 +77,12 @@ int main(int, char**) { assert(m.size() == 1); assert(*r == 2); } + { // We're unwrapping pairs for `{,multi}map`. Make sure we're not trying to do that for multiset. + using Set = std::multiset<std::pair<MoveOnly, MoveOnly>>; + Set set; + auto iter = set.emplace(std::pair<MoveOnly, MoveOnly>(2, 4)); + assert(set.begin() == iter); + } return 0; } diff --git a/libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp b/libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp index 8511f05ab57e..0a5fe62eed69 100644 --- a/libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp +++ b/libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp @@ -68,7 +68,7 @@ template <class Alloc, class AllocatorInvariant = NoOp> void test_alloc(const Alloc& lhs_alloc = Alloc(), const Alloc& rhs_alloc = Alloc(), AllocatorInvariant check_alloc_invariant = NoOp()) { - { // Test empty/non-empy multiset combinations + { // Test empty/non-empty multiset combinations { // assign from a non-empty container into an empty one using Set = std::multiset<int, std::less<int>, Alloc>; @@ -216,7 +216,7 @@ void test_alloc(const Alloc& lhs_alloc = Alloc(), assert(std::next(orig.begin(), 3) == orig.end()); } check_alloc_invariant(); - { // Make a somewhat larget multiset to exercise the algorithm a bit + { // Make a somewhat larger multiset to exercise the algorithm a bit using Set = std::multiset<int, std::less<int>, Alloc>; Set orig(rhs_alloc); diff --git a/libcxx/test/std/containers/associative/set/emplace.pass.cpp b/libcxx/test/std/containers/associative/set/emplace.pass.cpp index e038de77d48a..e5a9f9590aad 100644 --- a/libcxx/test/std/containers/associative/set/emplace.pass.cpp +++ b/libcxx/test/std/containers/associative/set/emplace.pass.cpp @@ -15,12 +15,12 @@ // template <class... Args> // pair<iterator, bool> emplace(Args&&... args); -#include <set> #include <cassert> +#include <set> -#include "test_macros.h" #include "../../Emplaceable.h" #include "DefaultOnly.h" +#include "MoveOnly.h" #include "min_allocator.h" int main(int, char**) { @@ -84,6 +84,13 @@ int main(int, char**) { assert(m.size() == 1); assert(*r.first == 2); } + { // We're unwrapping pairs for `{,multi}map`. Make sure we're not trying to do that for set. + using Set = std::set<std::pair<MoveOnly, MoveOnly>>; + Set set; + auto res = set.emplace(std::pair<MoveOnly, MoveOnly>(2, 4)); + assert(std::get<1>(res)); + assert(set.begin() == std::get<0>(res)); + } return 0; } diff --git a/libcxx/test/std/containers/associative/set/insert_iter_iter.pass.cpp b/libcxx/test/std/containers/associative/set/insert_iter_iter.pass.cpp index 6c9707ca31a8..8576c63a72de 100644 --- a/libcxx/test/std/containers/associative/set/insert_iter_iter.pass.cpp +++ b/libcxx/test/std/containers/associative/set/insert_iter_iter.pass.cpp @@ -13,38 +13,178 @@ // template <class InputIterator> // void insert(InputIterator first, InputIterator last); -#include <set> +#include <array> #include <cassert> +#include <set> -#include "test_macros.h" -#include "test_iterators.h" #include "min_allocator.h" +#include "test_iterators.h" -int main(int, char**) { - { - typedef std::set<int> M; - typedef int V; - V ar[] = {1, 1, 1, 2, 2, 2, 3, 3, 3}; - M m; - m.insert(cpp17_input_iterator<const V*>(ar), cpp17_input_iterator<const V*>(ar + sizeof(ar) / sizeof(ar[0]))); - assert(m.size() == 3); - assert(*m.begin() == 1); - assert(*std::next(m.begin()) == 2); - assert(*std::next(m.begin(), 2) == 3); +template <class Iter, class Alloc> +void test_alloc() { + { // Check that an empty range works correctly + { // Without elements in the container + using Map = std::set<int, std::less<int>, Alloc>; + + std::array<int, 0> arr; + + Map map; + map.insert(Iter(arr.data()), Iter(arr.data() + arr.size())); + assert(map.size() == 0); + assert(map.begin() == map.end()); + } + { // With 1 element in the container + using Map = std::set<int, std::less<int>, Alloc>; + + std::array<int, 0> arr; + + Map map; + map.insert(0); + map.insert(Iter(arr.data()), Iter(arr.data() + arr.size())); + assert(map.size() == 1); + assert(*std::next(map.begin(), 0) == 0); + assert(std::next(map.begin(), 1) == map.end()); + } + { // With multiple elements in the container + using Map = std::set<int, std::less<int>, Alloc>; + + std::array<int, 0> arr; + + Map map; + map.insert(0); + map.insert(1); + map.insert(2); + map.insert(Iter(arr.data()), Iter(arr.data() + arr.size())); + assert(map.size() == 3); + assert(*std::next(map.begin(), 0) == 0); + assert(*std::next(map.begin(), 1) == 1); + assert(*std::next(map.begin(), 2) == 2); + assert(std::next(map.begin(), 3) == map.end()); + } } -#if TEST_STD_VER >= 11 - { - typedef std::set<int, std::less<int>, min_allocator<int>> M; - typedef int V; - V ar[] = {1, 1, 1, 2, 2, 2, 3, 3, 3}; - M m; - m.insert(cpp17_input_iterator<const V*>(ar), cpp17_input_iterator<const V*>(ar + sizeof(ar) / sizeof(ar[0]))); - assert(m.size() == 3); - assert(*m.begin() == 1); - assert(*std::next(m.begin()) == 2); - assert(*std::next(m.begin(), 2) == 3); + { // Check that 1 element is inserted correctly + { // Without elements in the container + using Map = std::set<int, std::less<int>, Alloc>; + + int arr[] = {1}; + + Map map; + map.insert(Iter(std::begin(arr)), Iter(std::end(arr))); + assert(map.size() == 1); + assert(*std::next(map.begin(), 0) == 1); + assert(std::next(map.begin(), 1) == map.end()); + } + { // With 1 element in the container - a different key + using Map = std::set<int, std::less<int>, Alloc>; + + int arr[] = {1}; + + Map map; + map.insert(0); + map.insert(Iter(std::begin(arr)), Iter(std::end(arr))); + assert(map.size() == 2); + assert(*std::next(map.begin(), 0) == 0); + assert(*std::next(map.begin(), 1) == 1); + assert(std::next(map.begin(), 2) == map.end()); + } + { // With 1 element in the container - the same key + using Map = std::set<int, std::less<int>, Alloc>; + + int arr[] = {1}; + + Map map; + map.insert(1); + map.insert(Iter(std::begin(arr)), Iter(std::end(arr))); + assert(map.size() == 1); + assert(*std::next(map.begin(), 0) == 1); + assert(std::next(map.begin(), 1) == map.end()); + } + { // With multiple elements in the container + using Map = std::set<int, std::less<int>, Alloc>; + + int arr[] = {1}; + + Map map; + map.insert(0); + map.insert(1); + map.insert(2); + map.insert(Iter(std::begin(arr)), Iter(std::end(arr))); + assert(map.size() == 3); + assert(*std::next(map.begin(), 0) == 0); + assert(*std::next(map.begin(), 1) == 1); + assert(*std::next(map.begin(), 2) == 2); + assert(std::next(map.begin(), 3) == map.end()); + } + } + { // Check that multiple elements are inserted correctly + { // Without elements in the container + using Map = std::set<int, std::less<int>, Alloc>; + + int arr[] = {1, 1, 3}; + + Map map; + map.insert(Iter(std::begin(arr)), Iter(std::end(arr))); + assert(map.size() == 2); + assert(*std::next(map.begin(), 0) == 1); + assert(*std::next(map.begin(), 1) == 3); + assert(std::next(map.begin(), 2) == map.end()); + } + { // With 1 element in the container - a different key + using Map = std::set<int, std::less<int>, Alloc>; + + int arr[] = {1, 1, 3}; + + Map map; + map.insert(0); + map.insert(Iter(std::begin(arr)), Iter(std::end(arr))); + assert(map.size() == 3); + assert(*std::next(map.begin(), 0) == 0); + assert(*std::next(map.begin(), 1) == 1); + assert(*std::next(map.begin(), 2) == 3); + assert(std::next(map.begin(), 3) == map.end()); + } + { // With 1 element in the container - the same key + using Map = std::set<int, std::less<int>, Alloc>; + + int arr[] = {1, 2, 3}; + + Map map; + map.insert(1); + map.insert(Iter(std::begin(arr)), Iter(std::end(arr))); + assert(map.size() == 3); + assert(*std::next(map.begin(), 0) == 1); + assert(*std::next(map.begin(), 1) == 2); + assert(*std::next(map.begin(), 2) == 3); + assert(std::next(map.begin(), 3) == map.end()); + } + { // With multiple elements in the container + using Map = std::set<int, std::less<int>, Alloc>; + + int arr[] = {1, 3, 4}; + + Map map; + map.insert(0); + map.insert(1); + map.insert(2); + map.insert(Iter(std::begin(arr)), Iter(std::end(arr))); + assert(map.size() == 5); + assert(*std::next(map.begin(), 0) == 0); + assert(*std::next(map.begin(), 1) == 1); + assert(*std::next(map.begin(), 2) == 2); + assert(*std::next(map.begin(), 3) == 3); + assert(*std::next(map.begin(), 4) == 4); + assert(std::next(map.begin(), 5) == map.end()); + } } -#endif +} + +void test() { + test_alloc<cpp17_input_iterator<int*>, std::allocator<int> >(); + test_alloc<cpp17_input_iterator<int*>, min_allocator<int> >(); +} + +int main(int, char**) { + test(); return 0; } diff --git a/libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp b/libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp index 85bc4e761f2c..dd1dbc86190f 100644 --- a/libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp +++ b/libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp @@ -70,7 +70,7 @@ template <class Alloc, class AllocatorInvariant = NoOp> void test_alloc(const Alloc& lhs_alloc = Alloc(), const Alloc& rhs_alloc = Alloc(), AllocatorInvariant check_alloc_invariant = NoOp()) { - { // Test empty/non-empy set combinations + { // Test empty/non-empty set combinations { // assign from a non-empty container into an empty one using Set = std::set<int, std::less<int>, Alloc>; @@ -218,7 +218,7 @@ void test_alloc(const Alloc& lhs_alloc = Alloc(), assert(std::next(orig.begin(), 3) == orig.end()); } check_alloc_invariant(); - { // Make a somewhat larget set to exercise the algorithm a bit + { // Make a somewhat larger set to exercise the algorithm a bit using Set = std::set<int, std::less<int>, Alloc>; Set orig(rhs_alloc); diff --git a/libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign_noexcept.compile.pass.cpp b/libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign_noexcept.compile.pass.cpp index 18d332cf27b5..c727f7e51eb2 100644 --- a/libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign_noexcept.compile.pass.cpp +++ b/libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign_noexcept.compile.pass.cpp @@ -51,7 +51,7 @@ struct MoveThrowsComp { void test() { { - using C = std::flat_map<int, int>; + using C [[maybe_unused]] = std::flat_map<int, int>; LIBCPP_STATIC_ASSERT(std::is_nothrow_move_assignable_v<C>); } { @@ -73,7 +73,7 @@ void test() { static_assert(!std::is_nothrow_move_assignable_v<C>); } { - using C = + using C [[maybe_unused]] = std::flat_map<MoveOnly, int, std::less<MoveOnly>, @@ -82,7 +82,7 @@ void test() { LIBCPP_STATIC_ASSERT(std::is_nothrow_move_assignable_v<C>); } { - using C = + using C [[maybe_unused]] = std::flat_map<int, MoveOnly, std::less<int>, @@ -92,7 +92,7 @@ void test() { } { // Test with a comparator that throws on move-assignment. - using C = std::flat_map<int, int, MoveThrowsComp>; + using C [[maybe_unused]] = std::flat_map<int, int, MoveThrowsComp>; LIBCPP_STATIC_ASSERT(!std::is_nothrow_move_assignable_v<C>); } { diff --git a/libcxx/test/std/containers/container.adaptors/flat.map/flat.map.erasure/erase_if_exceptions.pass.cpp b/libcxx/test/std/containers/container.adaptors/flat.map/flat.map.erasure/erase_if_exceptions.pass.cpp index 48fdec42db3f..c0e31dc38426 100644 --- a/libcxx/test/std/containers/container.adaptors/flat.map/flat.map.erasure/erase_if_exceptions.pass.cpp +++ b/libcxx/test/std/containers/container.adaptors/flat.map/flat.map.erasure/erase_if_exceptions.pass.cpp @@ -66,7 +66,8 @@ struct ErasurePredicate { }; int main(int, char**) { - const std::pair<int, int> expected[] = {{1, 1}, {2, 2}, {3, 3}, {4, 4}, {5, 5}, {6, 6}, {7, 7}, {8, 8}}; + [[maybe_unused]] const std::pair<int, int> expected[] = { + {1, 1}, {2, 2}, {3, 3}, {4, 4}, {5, 5}, {6, 6}, {7, 7}, {8, 8}}; { using M = std::flat_map<ThrowingAssignment, int, ThrowingComparator>; for (int first_throw = 1; first_throw < 99; ++first_throw) { diff --git a/libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_assign_noexcept.compile.pass.cpp b/libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_assign_noexcept.compile.pass.cpp index 1aa40759fada..5f86bb336f13 100644 --- a/libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_assign_noexcept.compile.pass.cpp +++ b/libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_assign_noexcept.compile.pass.cpp @@ -51,7 +51,7 @@ struct MoveThrowsComp { void test() { { - using C = std::flat_multimap<int, int>; + using C [[maybe_unused]] = std::flat_multimap<int, int>; LIBCPP_STATIC_ASSERT(std::is_nothrow_move_assignable_v<C>); } { @@ -73,7 +73,7 @@ void test() { static_assert(!std::is_nothrow_move_assignable_v<C>); } { - using C = + using C [[maybe_unused]] = std::flat_multimap<MoveOnly, int, std::less<MoveOnly>, @@ -82,7 +82,7 @@ void test() { LIBCPP_STATIC_ASSERT(std::is_nothrow_move_assignable_v<C>); } { - using C = + using C [[maybe_unused]] = std::flat_multimap<int, MoveOnly, std::less<int>, @@ -92,7 +92,7 @@ void test() { } { // Test with a comparator that throws on move-assignment. - using C = std::flat_multimap<int, int, MoveThrowsComp>; + using C [[maybe_unused]] = std::flat_multimap<int, int, MoveThrowsComp>; LIBCPP_STATIC_ASSERT(!std::is_nothrow_move_assignable_v<C>); } { diff --git a/libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.erasure/erase_if_exceptions.pass.cpp b/libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.erasure/erase_if_exceptions.pass.cpp index 13b57202f786..95f7e11626a4 100644 --- a/libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.erasure/erase_if_exceptions.pass.cpp +++ b/libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.erasure/erase_if_exceptions.pass.cpp @@ -68,7 +68,8 @@ struct ErasurePredicate { }; int main(int, char**) { - const std::pair<int, int> expected[] = {{1, 1}, {2, 2}, {3, 3}, {3, 3}, {5, 5}, {6, 6}, {7, 7}, {8, 8}}; + [[maybe_unused]] const std::pair<int, int> expected[] = { + {1, 1}, {2, 2}, {3, 3}, {3, 3}, {5, 5}, {6, 6}, {7, 7}, {8, 8}}; { using M = std::flat_multimap<ThrowingAssignment, int, ThrowingComparator>; for (int first_throw = 1; first_throw < 99; ++first_throw) { diff --git a/libcxx/test/std/containers/container.adaptors/flat.set/flat.set.erasure/erase_if_exceptions.pass.cpp b/libcxx/test/std/containers/container.adaptors/flat.set/flat.set.erasure/erase_if_exceptions.pass.cpp index 37b4a40f0165..11cc12aaeabf 100644 --- a/libcxx/test/std/containers/container.adaptors/flat.set/flat.set.erasure/erase_if_exceptions.pass.cpp +++ b/libcxx/test/std/containers/container.adaptors/flat.set/flat.set.erasure/erase_if_exceptions.pass.cpp @@ -66,7 +66,7 @@ struct ErasurePredicate { }; void test() { - const int expected[] = {1, 2, 3, 4, 5, 6, 7, 8}; + [[maybe_unused]] const int expected[] = {1, 2, 3, 4, 5, 6, 7, 8}; { using M = std::flat_set<ThrowingAssignment, ThrowingComparator>; for (int first_throw = 1; first_throw < 99; ++first_throw) { diff --git a/libcxx/test/std/containers/sequences/array/array.cons/initialization.pass.cpp b/libcxx/test/std/containers/sequences/array/array.cons/initialization.pass.cpp index 0bca4299c851..6d5427f3e363 100644 --- a/libcxx/test/std/containers/sequences/array/array.cons/initialization.pass.cpp +++ b/libcxx/test/std/containers/sequences/array/array.cons/initialization.pass.cpp @@ -20,7 +20,7 @@ struct NoDefault { struct test_initialization { template <typename T> TEST_CONSTEXPR_CXX14 void operator()() const { - // Check default initalization + // Check default initialization { std::array<T, 0> a0; (void)a0; diff --git a/libcxx/test/std/containers/sequences/deque/deque.cons/from_range.pass.cpp b/libcxx/test/std/containers/sequences/deque/deque.cons/from_range.pass.cpp index cfc07ab7bc79..3b3632a3d3c6 100644 --- a/libcxx/test/std/containers/sequences/deque/deque.cons/from_range.pass.cpp +++ b/libcxx/test/std/containers/sequences/deque/deque.cons/from_range.pass.cpp @@ -28,7 +28,7 @@ int main(int, char**) { static_assert(test_constraints<std::deque, int, double>()); // TODO(varconst): `deque`'s constructors currently aren't exception-safe. - // See https://github.com/llvm/llvm-project/issues/62056. + // See https://llvm.org/PR62056. //test_exception_safety_throwing_copy<std::deque>(); //test_exception_safety_throwing_allocator<std::deque, int>(); diff --git a/libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp b/libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp index d2e48b351fc7..58b73415f1a7 100644 --- a/libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp +++ b/libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp @@ -24,8 +24,6 @@ // ... // }; -// XFAIL: FROZEN-CXX03-HEADERS-FIXME - #include <forward_list> #include <type_traits> diff --git a/libcxx/test/std/containers/sequences/list/types.pass.cpp b/libcxx/test/std/containers/sequences/list/types.pass.cpp index 755c8bf4df29..7075f6eff0b2 100644 --- a/libcxx/test/std/containers/sequences/list/types.pass.cpp +++ b/libcxx/test/std/containers/sequences/list/types.pass.cpp @@ -21,8 +21,6 @@ // typedef typename allocator_type::pointer pointer; // typedef typename allocator_type::const_pointer const_pointer; -// XFAIL: FROZEN-CXX03-HEADERS-FIXME - #include <list> #include <type_traits> diff --git a/libcxx/test/std/containers/sequences/vector.bool/shrink_to_fit.pass.cpp b/libcxx/test/std/containers/sequences/vector.bool/shrink_to_fit.pass.cpp index 30efe047054a..665867a7bad4 100644 --- a/libcxx/test/std/containers/sequences/vector.bool/shrink_to_fit.pass.cpp +++ b/libcxx/test/std/containers/sequences/vector.bool/shrink_to_fit.pass.cpp @@ -80,7 +80,7 @@ TEST_CONSTEXPR_CXX20 bool tests() { } #if TEST_STD_VER >= 23 -// https://github.com/llvm/llvm-project/issues/95161 +// https://llvm.org/PR95161 constexpr bool test_increasing_allocator() { std::vector<bool, increasing_allocator<bool>> v; v.push_back(1); diff --git a/libcxx/test/std/containers/sequences/vector.bool/small_allocator_size.pass.cpp b/libcxx/test/std/containers/sequences/vector.bool/small_allocator_size.pass.cpp index 95e4c18cc798..0136fb063160 100644 --- a/libcxx/test/std/containers/sequences/vector.bool/small_allocator_size.pass.cpp +++ b/libcxx/test/std/containers/sequences/vector.bool/small_allocator_size.pass.cpp @@ -12,7 +12,7 @@ // XFAIL: FROZEN-CXX03-HEADERS-FIXME // This test ensures that std::vector<bool> handles allocator types with small size types -// properly. Related issue: https://github.com/llvm/llvm-project/issues/121713. +// properly. Related issue: https://llvm.org/PR121713. #include <cassert> #include <cstddef> diff --git a/libcxx/test/std/containers/sequences/vector/vector.capacity/max_size.pass.cpp b/libcxx/test/std/containers/sequences/vector/vector.capacity/max_size.pass.cpp index a3f44f33028e..af57e5ffc5cf 100644 --- a/libcxx/test/std/containers/sequences/vector/vector.capacity/max_size.pass.cpp +++ b/libcxx/test/std/containers/sequences/vector/vector.capacity/max_size.pass.cpp @@ -66,7 +66,7 @@ TEST_CONSTEXPR_CXX20 bool tests() { #if TEST_STD_VER >= 11 - // Test with various allocators and diffrent size_type + // Test with various allocators and different size_type { test(std::vector<int>()); test(std::vector<short, std::allocator<short> >()); diff --git a/libcxx/test/std/containers/sequences/vector/vector.capacity/shrink_to_fit.pass.cpp b/libcxx/test/std/containers/sequences/vector/vector.capacity/shrink_to_fit.pass.cpp index 48eb6ed85d47..bbea48364c1f 100644 --- a/libcxx/test/std/containers/sequences/vector/vector.capacity/shrink_to_fit.pass.cpp +++ b/libcxx/test/std/containers/sequences/vector/vector.capacity/shrink_to_fit.pass.cpp @@ -74,7 +74,7 @@ TEST_CONSTEXPR_CXX20 bool tests() { } #if TEST_STD_VER >= 23 -// https://github.com/llvm/llvm-project/issues/95161 +// https://llvm.org/PR95161 constexpr bool test_increasing_allocator() { std::vector<int, increasing_allocator<int>> v; v.push_back(1); diff --git a/libcxx/test/std/containers/sequences/vector/vector.capacity/shrink_to_fit_exceptions.pass.cpp b/libcxx/test/std/containers/sequences/vector/vector.capacity/shrink_to_fit_exceptions.pass.cpp index 521a25fdeda0..0bc3387e26b8 100644 --- a/libcxx/test/std/containers/sequences/vector/vector.capacity/shrink_to_fit_exceptions.pass.cpp +++ b/libcxx/test/std/containers/sequences/vector/vector.capacity/shrink_to_fit_exceptions.pass.cpp @@ -39,7 +39,7 @@ void test_allocation_exception_for_strong_guarantee(std::vector<T, Alloc>& v, co } catch (...) { } - // As shrink_to_fit may swallow any exceptions, we place the checks outisde the catch block. + // As shrink_to_fit may swallow any exceptions, we place the checks outside the catch block. assert(v.data() == old_data); assert(v.size() == old_size); assert(v.capacity() == old_cap); diff --git a/libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp b/libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp index 6549735f7b51..1a6364a8018b 100644 --- a/libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp +++ b/libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp @@ -79,7 +79,7 @@ TEST_CONSTEXPR_CXX20 void basic_test_cases() { test<std::vector<int, safe_allocator<int> > >( random_access_iterator<const int*>(a), random_access_iterator<const int*>(an)); - // Regression test for https://github.com/llvm/llvm-project/issues/46841 + // Regression test for https://llvm.org/PR47497 { std::vector<int> v1({}, forward_iterator<const int*>{}); std::vector<int> v2(forward_iterator<const int*>{}, {}); diff --git a/libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp b/libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp index 019f427c006a..d1eff51011c4 100644 --- a/libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp +++ b/libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp @@ -90,7 +90,7 @@ TEST_CONSTEXPR_CXX20 void basic_tests() { test<std::vector<int, safe_allocator<int> > >(a, an, alloc); } - // Regression test for https://github.com/llvm/llvm-project/issues/46841 + // Regression test for https://llvm.org/PR47497 { min_allocator<int> alloc; std::vector<int, min_allocator<int> > v1({}, forward_iterator<const int*>{}, alloc); diff --git a/libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_range.pass.cpp b/libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_range.pass.cpp index f8a2bdd3fee7..a8a9f5fdbb42 100644 --- a/libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_range.pass.cpp +++ b/libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_range.pass.cpp @@ -91,6 +91,20 @@ int main(int, char**) { assert(c.size() == 0); assert(k == c.end()); } + { // Make sure we're properly destroying the elements when erasing + { // When erasing part of a bucket + std::unordered_multimap<int, std::string> map; + map.insert(std::make_pair(1, "This is a long string to make sure ASan can detect a memory leak")); + map.insert(std::make_pair(1, "This is another long string to make sure ASan can detect a memory leak")); + map.erase(++map.begin(), map.end()); + } + { // When erasing the whole bucket + std::unordered_multimap<int, std::string> map; + map.insert(std::make_pair(1, "This is a long string to make sure ASan can detect a memory leak")); + map.insert(std::make_pair(1, "This is another long string to make sure ASan can detect a memory leak")); + map.erase(map.begin(), map.end()); + } + } #if TEST_STD_VER >= 11 { typedef std::unordered_multimap<int, diff --git a/libcxx/test/std/containers/unord/unord.multiset/emplace.pass.cpp b/libcxx/test/std/containers/unord/unord.multiset/emplace.pass.cpp index 886ddd74efd4..434f205f90b9 100644 --- a/libcxx/test/std/containers/unord/unord.multiset/emplace.pass.cpp +++ b/libcxx/test/std/containers/unord/unord.multiset/emplace.pass.cpp @@ -17,11 +17,11 @@ // template <class... Args> // iterator emplace(Args&&... args); -#include <unordered_set> #include <cassert> +#include <unordered_set> -#include "test_macros.h" #include "../../Emplaceable.h" +#include "MoveOnly.h" #include "min_allocator.h" int main(int, char**) { @@ -59,6 +59,15 @@ int main(int, char**) { assert(c.size() == 3); assert(*r == Emplaceable(5, 6)); } + { // We're unwrapping pairs for `unordered_{,multi}map`. Make sure we're not trying to do that for unordered_multiset. + struct PairHasher { + size_t operator()(const std::pair<MoveOnly, MoveOnly>& val) const { return std::hash<MoveOnly>()(val.first); } + }; + using Set = std::unordered_multiset<std::pair<MoveOnly, MoveOnly>, PairHasher>; + Set set; + auto iter = set.emplace(std::pair<MoveOnly, MoveOnly>(2, 4)); + assert(set.begin() == iter); + } return 0; } diff --git a/libcxx/test/std/containers/unord/unord.set/emplace.pass.cpp b/libcxx/test/std/containers/unord/unord.set/emplace.pass.cpp index 8972f03f2d2a..24e85a1ab7f5 100644 --- a/libcxx/test/std/containers/unord/unord.set/emplace.pass.cpp +++ b/libcxx/test/std/containers/unord/unord.set/emplace.pass.cpp @@ -17,11 +17,11 @@ // template <class... Args> // pair<iterator, bool> emplace(Args&&... args); -#include <unordered_set> #include <cassert> +#include <unordered_set> -#include "test_macros.h" #include "../../Emplaceable.h" +#include "MoveOnly.h" #include "min_allocator.h" int main(int, char**) { @@ -65,6 +65,16 @@ int main(int, char**) { assert(*r.first == Emplaceable(5, 6)); assert(!r.second); } + { // We're unwrapping pairs for `unordered_{,multi}map`. Make sure we're not trying to do that for unordered_set. + struct PairHasher { + size_t operator()(const std::pair<MoveOnly, MoveOnly>& val) const { return std::hash<MoveOnly>()(val.first); } + }; + using Set = std::unordered_set<std::pair<MoveOnly, MoveOnly>, PairHasher>; + Set set; + auto res = set.emplace(std::pair<MoveOnly, MoveOnly>(2, 4)); + assert(std::get<1>(res)); + assert(set.begin() == std::get<0>(res)); + } return 0; } diff --git a/libcxx/test/std/containers/views/mdspan/aligned_accessor/access.pass.cpp b/libcxx/test/std/containers/views/mdspan/aligned_accessor/access.pass.cpp index deca1226e47c..91a910899abc 100644 --- a/libcxx/test/std/containers/views/mdspan/aligned_accessor/access.pass.cpp +++ b/libcxx/test/std/containers/views/mdspan/aligned_accessor/access.pass.cpp @@ -23,7 +23,7 @@ #include "test_macros.h" // We are not using MinimalElementType.h because MinimalElementType is not -// default consructible and uninitialized storage does not work in constexpr. +// default constructible and uninitialized storage does not work in constexpr. // Same as MinimalElementType but with a defaulted default constructor struct MyMinimalElementType { diff --git a/libcxx/test/std/containers/views/mdspan/aligned_accessor/offset.pass.cpp b/libcxx/test/std/containers/views/mdspan/aligned_accessor/offset.pass.cpp index 66c30da787a8..3ed8cd752017 100644 --- a/libcxx/test/std/containers/views/mdspan/aligned_accessor/offset.pass.cpp +++ b/libcxx/test/std/containers/views/mdspan/aligned_accessor/offset.pass.cpp @@ -23,7 +23,7 @@ #include "test_macros.h" // We are not using MinimalElementType.h because MinimalElementType is not -// default consructible and uninitialized storage does not work in constexpr. +// default constructible and uninitialized storage does not work in constexpr. // Same as MinimalElementType but with a defaulted default constructor struct MyMinimalElementType { diff --git a/libcxx/test/std/containers/views/mdspan/mdspan/conversion.pass.cpp b/libcxx/test/std/containers/views/mdspan/mdspan/conversion.pass.cpp index 63a673f87b41..b587d904a061 100644 --- a/libcxx/test/std/containers/views/mdspan/mdspan/conversion.pass.cpp +++ b/libcxx/test/std/containers/views/mdspan/mdspan/conversion.pass.cpp @@ -232,7 +232,7 @@ int main(int, char**) { test<t, o, t, t, t, t, t, t, conv_test_accessor_c<int, t, t, o, o>>(conv_test_accessor_nc<int, t, o>()); // FIXME: these tests trigger what appears to be a compiler bug on MINGW32 with --target=x86_64-w64-windows-gnu // https://godbolt.org/z/KK8aj5bs7 -// Bug report: https://github.com/llvm/llvm-project/issues/64077 +// Bug report: https://llvm.org/PR64077 #ifndef __MINGW32__ test<t, t, t, o, t, t, t, t, conv_test_accessor_c<int, o, t, t, t>>(conv_test_accessor_nc<int, t, t>()); test<t, t, t, t, t, t, t, t, conv_test_accessor_c<int, o, o, o, o>>(conv_test_accessor_nc<int, t, o>()); diff --git a/libcxx/test/std/containers/views/views.span/span.cons/copy.pass.cpp b/libcxx/test/std/containers/views/views.span/span.cons/copy.pass.cpp index d3990fd60a45..aa284c58171f 100644 --- a/libcxx/test/std/containers/views/views.span/span.cons/copy.pass.cpp +++ b/libcxx/test/std/containers/views/views.span/span.cons/copy.pass.cpp @@ -95,7 +95,7 @@ constexpr bool test_all() { test<std::string>(); test<const std::string>(); - // Regression test for https://github.com/llvm/llvm-project/issues/104496 + // Regression test for https://llvm.org/PR104496 { struct Incomplete; std::span<Incomplete> x; diff --git a/libcxx/test/std/containers/views/views.span/span.cons/initializer_list.pass.cpp b/libcxx/test/std/containers/views/views.span/span.cons/initializer_list.pass.cpp index bc76e23fea3c..b413b71ec945 100644 --- a/libcxx/test/std/containers/views/views.span/span.cons/initializer_list.pass.cpp +++ b/libcxx/test/std/containers/views/views.span/span.cons/initializer_list.pass.cpp @@ -34,7 +34,7 @@ static_assert(!ConstElementType<std::span<int>>); static_assert(ConstElementType<std::span<const int, 94>>); static_assert(!ConstElementType<std::span<int, 94>>); -// Constructor constraings +// Constructor constraints template <typename I, typename T, std::size_t... N> concept HasInitializerListCtr = requires(I il) { std::span<T, N...>{il}; }; diff --git a/libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.constructors/lwg3629.pass.cpp b/libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.constructors/lwg3629.pass.cpp index 076530b7007a..cbc002e5e7c3 100644 --- a/libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.constructors/lwg3629.pass.cpp +++ b/libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.constructors/lwg3629.pass.cpp @@ -12,7 +12,7 @@ // template <ErrorCodeEnum E> error_code(E e); -// Regression test for https://github.com/llvm/llvm-project/issues/57614 +// Regression test for https://llvm.org/PR57614 int make_error_code; // It's important that this comes before <system_error> diff --git a/libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.modifiers/lwg3629.pass.cpp b/libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.modifiers/lwg3629.pass.cpp index 4bea503ec042..f327ef1fab7e 100644 --- a/libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.modifiers/lwg3629.pass.cpp +++ b/libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.modifiers/lwg3629.pass.cpp @@ -12,7 +12,7 @@ // template <ErrorCodeEnum E> error_code& operator=(E e); -// Regression test for https://github.com/llvm/llvm-project/issues/57614 +// Regression test for https://llvm.org/PR57614 int make_error_code; // It's important that this comes before <system_error> diff --git a/libcxx/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.constructors/lwg3629.pass.cpp b/libcxx/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.constructors/lwg3629.pass.cpp index f1e2d9a2ba34..efada2447861 100644 --- a/libcxx/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.constructors/lwg3629.pass.cpp +++ b/libcxx/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.constructors/lwg3629.pass.cpp @@ -12,7 +12,7 @@ // template <ErrorCodeEnum E> error_condition(E e); -// Regression test for https://github.com/llvm/llvm-project/issues/57614 +// Regression test for https://llvm.org/PR57614 int make_error_condition; // It's important that this comes before <system_error> diff --git a/libcxx/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.modifiers/lwg3629.pass.cpp b/libcxx/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.modifiers/lwg3629.pass.cpp index 014f14a9fd82..3292d0bb1a6c 100644 --- a/libcxx/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.modifiers/lwg3629.pass.cpp +++ b/libcxx/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.modifiers/lwg3629.pass.cpp @@ -12,7 +12,7 @@ // template <ErrorCodeEnum E> error_condition& operator=(E e); -// Regression test for https://github.com/llvm/llvm-project/issues/57614 +// Regression test for https://llvm.org/PR57614 int make_error_condition; // It's important that this comes before <system_error> diff --git a/libcxx/test/std/double_include.gen.py b/libcxx/test/std/double_include.gen.py index fcf3b9a8fa2e..f019710be55b 100644 --- a/libcxx/test/std/double_include.gen.py +++ b/libcxx/test/std/double_include.gen.py @@ -8,9 +8,10 @@ # Test that we can include each header in two TU's and link them together. -# RUN: %{python} %s %{libcxx-dir}/utils +# We're using compiler-specific flags in this test +# REQUIRES: (gcc || clang) -# Block Lit from interpreting a RUN/XFAIL/etc inside the generation script. +# RUN: %{python} %s %{libcxx-dir}/utils # END. import sys @@ -28,9 +29,6 @@ for header in public_headers: {lit_header_restrictions.get(header, '')} {lit_header_undeprecations.get(header, '')} -// We're using compiler-specific flags in this test -// REQUIRES: (gcc || clang) - // RUN: %{{cxx}} -c %s -o %t.first.o %{{flags}} %{{compile_flags}} // RUN: %{{cxx}} -c %s -o %t.second.o -DWITH_MAIN %{{flags}} %{{compile_flags}} // RUN: %{{cxx}} -o %t.exe %t.first.o %t.second.o %{{flags}} %{{link_flags}} diff --git a/libcxx/test/std/experimental/utilities/meta/meta.detect/detected_t.pass.cpp b/libcxx/test/std/experimental/utilities/meta/meta.detect/detected_t.pass.cpp index b64b86f1b05e..4f9f26cb4587 100644 --- a/libcxx/test/std/experimental/utilities/meta/meta.detect/detected_t.pass.cpp +++ b/libcxx/test/std/experimental/utilities/meta/meta.detect/detected_t.pass.cpp @@ -11,6 +11,7 @@ #include <experimental/type_traits> #include <string> +#include <utility> #include "test_macros.h" diff --git a/libcxx/test/std/experimental/utilities/meta/meta.detect/is_detected.pass.cpp b/libcxx/test/std/experimental/utilities/meta/meta.detect/is_detected.pass.cpp index 4a977917f1ec..6960c71abb33 100644 --- a/libcxx/test/std/experimental/utilities/meta/meta.detect/is_detected.pass.cpp +++ b/libcxx/test/std/experimental/utilities/meta/meta.detect/is_detected.pass.cpp @@ -11,6 +11,7 @@ #include <experimental/type_traits> #include <string> +#include <utility> #include "test_macros.h" diff --git a/libcxx/test/std/experimental/utilities/meta/meta.detect/is_detected_convertible.pass.cpp b/libcxx/test/std/experimental/utilities/meta/meta.detect/is_detected_convertible.pass.cpp index 6906461f1edc..de1d223b9189 100644 --- a/libcxx/test/std/experimental/utilities/meta/meta.detect/is_detected_convertible.pass.cpp +++ b/libcxx/test/std/experimental/utilities/meta/meta.detect/is_detected_convertible.pass.cpp @@ -11,6 +11,7 @@ #include <experimental/type_traits> #include <string> +#include <utility> #include "test_macros.h" diff --git a/libcxx/test/std/experimental/utilities/meta/meta.detect/is_detected_exact.pass.cpp b/libcxx/test/std/experimental/utilities/meta/meta.detect/is_detected_exact.pass.cpp index 500187e86dd0..2161c11e7d2c 100644 --- a/libcxx/test/std/experimental/utilities/meta/meta.detect/is_detected_exact.pass.cpp +++ b/libcxx/test/std/experimental/utilities/meta/meta.detect/is_detected_exact.pass.cpp @@ -11,6 +11,7 @@ #include <experimental/type_traits> #include <string> +#include <utility> #include "test_macros.h" diff --git a/libcxx/test/std/header_inclusions.gen.py b/libcxx/test/std/header_inclusions.gen.py index 8ff93810069f..cebff94fdd1a 100644 --- a/libcxx/test/std/header_inclusions.gen.py +++ b/libcxx/test/std/header_inclusions.gen.py @@ -9,6 +9,11 @@ # Test that all headers include all the other headers they're supposed to, as # prescribed by the Standard. +# UNSUPPORTED: FROZEN-CXX03-HEADERS-FIXME + +# TODO: This is currently a libc++-specific way of testing the includes, but is a requirement for all implementation +# REQUIRES: stdlib=libc++ + # RUN: %{python} %s %{libcxx-dir}/utils # END. @@ -46,11 +51,6 @@ for header in public_headers: print( f"""\ //--- {header}.compile.pass.cpp -// UNSUPPORTED: FROZEN-CXX03-HEADERS-FIXME - -// TODO: This is currently a libc++-specific way of testing the includes, but is a requirement for all implementation -// REQUIRES: stdlib=libc++ - {lit_header_restrictions.get(header, '')} {lit_header_undeprecations.get(header, '')} diff --git a/libcxx/test/std/input.output/file.streams/fstreams/filebuf.assign/nonmember_swap_min.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/filebuf.assign/nonmember_swap_min.pass.cpp index 6981360cef4f..0e86a399f4dc 100644 --- a/libcxx/test/std/input.output/file.streams/fstreams/filebuf.assign/nonmember_swap_min.pass.cpp +++ b/libcxx/test/std/input.output/file.streams/fstreams/filebuf.assign/nonmember_swap_min.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // This tests that swapping filebufs works correctly even when the small buffer -// optimization is in use (https://github.com/llvm/llvm-project/issues/49282). +// optimization is in use (https://llvm.org/PR49938). // <fstream> diff --git a/libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/seekoff.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/seekoff.pass.cpp index 8008901802e9..f6378e7998ee 100644 --- a/libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/seekoff.pass.cpp +++ b/libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/seekoff.pass.cpp @@ -29,7 +29,6 @@ int main(int, char**) | std::ios_base::trunc) != 0); assert(f.is_open()); f.sputn("abcdefghijklmnopqrstuvwxyz", 26); - LIBCPP_ASSERT(buf[0] == 'v'); pos_type p = f.pubseekoff(-15, std::ios_base::cur); assert(p == 11); assert(f.sgetc() == 'l'); diff --git a/libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp index 4e3afc17ad49..9d14abcedd42 100644 --- a/libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp +++ b/libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp @@ -13,7 +13,7 @@ // basic_streambuf<charT, traits>* setbuf(char_type* s, streamsize n) override; -// This test requires the fix to https://github.com/llvm/llvm-project/issues/60509 in the dylib, +// This test requires the fix to https://llvm.org/PR60509 in the dylib, // which landed in 5afb937d8a30445642ccaf33866ee4cdd0713222. // XFAIL: using-built-library-before-llvm-19 diff --git a/libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/xsputn.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/xsputn.pass.cpp new file mode 100644 index 000000000000..2d6be5cf527a --- /dev/null +++ b/libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/xsputn.pass.cpp @@ -0,0 +1,149 @@ +//===----------------------------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +// UNSUPPORTED: c++03 + +// <fstream> + +// streamsize xsputn(const char_type*, streamsize) override; + +// This isn't a required override by the standard, but most implementations override it, since it allows for +// significantly improved performance in some cases. All of this code is required to work, so this isn't a libc++ +// extension + +#include <algorithm> +#include <cassert> +#include <codecvt> +#include <cstring> +#include <fstream> +#include <locale> +#include <vector> + +#include "test_macros.h" + +typedef std::filebuf::pos_type pos_type; +typedef std::filebuf::off_type off_type; + +void sputn_seekoff(char* buf, + const size_t buf_size, + const std::streamsize chunk_size1, + const off_type offset1, + const std::streamsize chunk_size2) { + std::string data{"abcdefghijklmnopqrstuvwxyz"}; + const std::streamsize data_size = static_cast<std::streamsize>(data.size()); + assert(chunk_size1 <= data_size); + assert(chunk_size2 <= data_size); + // vector with expected data in the file to be written + std::size_t result_size = 5 + chunk_size1 + chunk_size2 + 1; + if (offset1 > 0) { + result_size += offset1; + } + std::vector<char> result(result_size, 0); + { + std::filebuf f; + f.pubsetbuf(buf, buf_size); + assert(f.open("sputn_seekoff.dat", std::ios_base::out) != 0); + assert(f.is_open()); + + assert(f.pubseekoff(off_type(5), std::ios_base::beg) = off_type(5)); + + std::vector<char> chunk(data.begin() + 5, data.begin() + 5 + chunk_size1); + std::copy(chunk.begin(), chunk.end(), result.begin() + 5); + const std::streamsize len1 = f.sputn(chunk.data(), chunk_size1); + assert(len1 == chunk_size1); + // check that nothing in the original chunk was modified by sputn() + assert(std::strncmp(chunk.data(), data.substr(5, len1).c_str(), len1) == 0); + + pos_type p1 = f.pubseekoff(offset1, std::ios_base::cur); + char c; + if (p1 < 0) { + p1 = f.pubseekoff(0, std::ios_base::beg); + assert(p1 == 0); + c = '^'; + } else { + assert(p1 == 5 + len1 + offset1); + if (p1 > data_size) { + c = '_'; + } else { + c = data[p1]; + } + } + + result[p1] = c; + assert(f.sputc(c) == c); + + f.pubseekpos(std::ios_base::beg); + result[0] = 'A'; + assert(f.sputc(toupper(data[0])) == 'A'); + + pos_type end_pos = f.pubseekoff(off_type(0), std::ios_base::end); + assert(f.sputc(toupper(data[data_size - 1])) == 'Z'); + result[end_pos] = 'Z'; + + assert(f.pubseekpos(p1) == p1); + result[p1] = toupper(c); + assert(f.sputc(toupper(c)) == toupper(c)); + + pos_type new_pos = result_size - chunk_size2; + pos_type p2 = f.pubseekoff(new_pos, std::ios_base::beg); + assert(p2 == new_pos); + chunk = std::vector<char>(data.end() - chunk_size2, data.end()); + std::copy(chunk.begin(), chunk.end(), result.begin() + p2); + const std::streamsize len2 = f.sputn(chunk.data(), chunk_size2); + assert(len2 == chunk_size2); + assert(std::strncmp(chunk.data(), data.substr(data_size - chunk_size2, chunk_size2).c_str(), len2) == 0); + f.close(); + } + std::filebuf f; + assert(f.open("sputn_seekoff.dat", std::ios_base::in) != 0); + assert(f.is_open()); + std::vector<char> check(result.size(), -1); + const std::size_t len = f.sgetn(check.data(), check.size()); + assert(len == result.size()); + for (size_t i = 0; i < len; ++i) { + assert(check[i] == result[i]); + } +} + +void sputn_not_open() { + std::vector<char> data(10, 'a'); + std::filebuf f; + std::streamsize len = f.sputn(data.data(), data.size()); + assert(len == 0); + assert(std::strncmp(data.data(), "aaaaaaaaaa", 10) == 0); +} + +#ifndef TEST_HAS_NO_WIDE_CHARACTERS +void sputn_not_open_wchar() { + std::vector<wchar_t> data(10, L'a'); + std::wfilebuf f; + std::streamsize len = f.sputn(data.data(), data.size()); + assert(len == 0); + assert(std::wcsncmp(data.data(), L"aaaaaaaaaa", 10) == 0); +} +#endif + +int main(int, char**) { + sputn_not_open(); +#ifndef TEST_HAS_NO_WIDE_CHARACTERS + sputn_not_open_wchar(); +#endif + + sputn_seekoff(nullptr, 10, 21, -27, 1); + sputn_seekoff(nullptr, 10, 1, -27, 1); + sputn_seekoff(nullptr, 10, 10, 14, 12); + sputn_seekoff(nullptr, 10, 1, -2, 1); + sputn_seekoff(nullptr, 10, 10, -4, 12); + sputn_seekoff(nullptr, 10, 11, -12, 3); + sputn_seekoff(nullptr, 10, 7, 3, 8); + sputn_seekoff(nullptr, 10, 5, -5, 12); + sputn_seekoff(nullptr, 10, 1, 1, 1); + sputn_seekoff(nullptr, 10, 9, 0, 1); + + return 0; +} diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp index 3bebf38a2a7c..56e35736d4f7 100644 --- a/libcxx/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp @@ -132,7 +132,7 @@ void test_compare_basic() { AssertOrderReturn<std::strong_ordering, path>(); #endif - // check comarison results + // check comparison results assert(testComparisons(p1, p2, /*isEqual*/ E == 0, /*isLess*/ E < 0)); #if TEST_STD_VER > 17 assert(testOrder(p1, p2, E <=> 0)); diff --git a/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/cache_refresh_iter.pass.cpp b/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/cache_refresh_iter.pass.cpp index 3d45828968de..ff7035096e70 100644 --- a/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/cache_refresh_iter.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.rec.dir.itr/cache_refresh_iter.pass.cpp @@ -147,7 +147,7 @@ static void test_cached_values_in_iteration() { const std::set<fs::path> dir_contents(static_env.RecDirIterationList.begin(), static_env.RecDirIterationList.end()); dir_entries = get_directory_entries_for(testDir, dir_contents); } - // Testing folder should be deleted after destoying static_test_env. + // Testing folder should be deleted after destroying static_test_env. for (const auto& dir_entry : dir_entries) { // During iteration Windows provides information only about symlink itself diff --git a/libcxx/test/std/input.output/iostream.format/print.fun/includes.compile.pass.cpp b/libcxx/test/std/input.output/iostream.format/print.fun/includes.compile.pass.cpp index 38e4e4d3fb9e..7d17d5066613 100644 --- a/libcxx/test/std/input.output/iostream.format/print.fun/includes.compile.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/print.fun/includes.compile.pass.cpp @@ -18,7 +18,7 @@ // using the granularized headers so it's possible to implement <print> without // <format>. This would be a non-conforming implementation. // -// See https://github.com/llvm/llvm-project/issues/71925 +// See https://llvm.org/PR71925 #include <print> #include <vector> diff --git a/libcxx/test/std/input.output/iostreams.base/fpos/fpos.operations/fpos.pass.cpp b/libcxx/test/std/input.output/iostreams.base/fpos/fpos.operations/fpos.pass.cpp index c3d3e0cfc411..8e2f84fba0de 100644 --- a/libcxx/test/std/input.output/iostreams.base/fpos/fpos.operations/fpos.pass.cpp +++ b/libcxx/test/std/input.output/iostreams.base/fpos/fpos.operations/fpos.pass.cpp @@ -14,6 +14,7 @@ #include <cassert> #include <ios> #include <type_traits> +#include <utility> #include "test_macros.h" diff --git a/libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/ios_Init.global.pass.cpp b/libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/ios_Init.global.pass.cpp index ac6a7213bb72..9046f0885a10 100644 --- a/libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/ios_Init.global.pass.cpp +++ b/libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/ios_Init.global.pass.cpp @@ -8,7 +8,7 @@ #include <iostream> -// FIXME: Remove after issue https://github.com/llvm/llvm-project/issues/127348 resolved. +// FIXME: Remove after issue https://llvm.org/PR127348 resolved. extern "C" const char* __asan_default_options() { return "check_initialization_order=true:strict_init_order=true"; } // Test that ios used from globals constructors doesn't trigger Asan initialization-order-fiasco. diff --git a/libcxx/test/std/input.output/string.streams/istringstream/istringstream.members/str.allocator_propagation.pass.cpp b/libcxx/test/std/input.output/string.streams/istringstream/istringstream.members/str.allocator_propagation.pass.cpp index ab41103aa856..0effb69be227 100644 --- a/libcxx/test/std/input.output/string.streams/istringstream/istringstream.members/str.allocator_propagation.pass.cpp +++ b/libcxx/test/std/input.output/string.streams/istringstream/istringstream.members/str.allocator_propagation.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14, c++17 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // This test ensures that we properly propagate allocators from istringstream's diff --git a/libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.members/str.allocator_propagation.pass.cpp b/libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.members/str.allocator_propagation.pass.cpp index a5ee2afab11e..dc57c912121d 100644 --- a/libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.members/str.allocator_propagation.pass.cpp +++ b/libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.members/str.allocator_propagation.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14, c++17 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // This test ensures that we properly propagate allocators from ostringstream's diff --git a/libcxx/test/std/input.output/string.streams/stringstream/stringstream.members/str.allocator_propagation.pass.cpp b/libcxx/test/std/input.output/string.streams/stringstream/stringstream.members/str.allocator_propagation.pass.cpp index 46a9213eaf91..7aa51254974f 100644 --- a/libcxx/test/std/input.output/string.streams/stringstream/stringstream.members/str.allocator_propagation.pass.cpp +++ b/libcxx/test/std/input.output/string.streams/stringstream/stringstream.members/str.allocator_propagation.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14, c++17 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // This test ensures that we properly propagate allocators from stringstream's diff --git a/libcxx/test/std/iterators/iterator.range/mandatory_inclusions.gen.py b/libcxx/test/std/iterators/iterator.range/mandatory_inclusions.gen.py index 46290b1ed52a..34ede107e5ed 100644 --- a/libcxx/test/std/iterators/iterator.range/mandatory_inclusions.gen.py +++ b/libcxx/test/std/iterators/iterator.range/mandatory_inclusions.gen.py @@ -12,6 +12,8 @@ # <list>, <map>, <regex>, <set>, <span>, <string>, <string_view>, <unordered_map>, # <unordered_set>, <vector>. +# UNSUPPORTED: c++03 + # RUN: %{python} %s %{libcxx-dir}/utils # END. @@ -53,7 +55,6 @@ for header in headers: //--- {header}.pass.cpp {lit_header_restrictions.get(header, '')} {lit_header_undeprecations.get(header, '')} -// UNSUPPORTED: c++03 #include <{header}> #include <cassert> diff --git a/libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_result_t.compile.pass.cpp b/libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_result_t.compile.pass.cpp index 1dfdc609e636..e999b20345a5 100644 --- a/libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_result_t.compile.pass.cpp +++ b/libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_result_t.compile.pass.cpp @@ -34,8 +34,6 @@ static_assert(!has_indirect_result<int, int*>); // int isn't invocable // Test ADL-proofing (P2538R1) #if TEST_STD_VER >= 26 || defined(_LIBCPP_VERSION) -// TODO: Enable this on GCC once this bug is fixed: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111419 -#ifndef TEST_COMPILER_GCC struct Incomplete; template<class T> struct Holder { T t; }; static_assert(std::same_as<std::indirect_result_t<int (&)(int), int*>, int>); @@ -45,4 +43,3 @@ static_assert(std::same_as<std::indirect_result_t<int (&)(Holder< static_assert(std::same_as<std::indirect_result_t<Holder<Incomplete>&(&)(Holder<Incomplete>*), Holder<Incomplete>**>, Holder<Incomplete>&>); static_assert(std::same_as<std::indirect_result_t<Holder<Incomplete>*(&)(Holder<Incomplete>*), Holder<Incomplete>**>, Holder<Incomplete>*>); #endif -#endif diff --git a/libcxx/test/std/iterators/iterator.requirements/indirectcallable/projected/projected.compile.pass.cpp b/libcxx/test/std/iterators/iterator.requirements/indirectcallable/projected/projected.compile.pass.cpp index 06d1171c370a..7ab92660fb06 100644 --- a/libcxx/test/std/iterators/iterator.requirements/indirectcallable/projected/projected.compile.pass.cpp +++ b/libcxx/test/std/iterators/iterator.requirements/indirectcallable/projected/projected.compile.pass.cpp @@ -61,4 +61,4 @@ constexpr bool projectable = requires { static_assert(!projectable<int, void (*)(int)>); // int isn't indirectly_readable static_assert(!projectable<S, void (*)(int)>); // S isn't weakly_incrementable -static_assert(!projectable<int*, void(int)>); // void(int) doesn't satisfy indirectly_regular_unary_invcable +static_assert(!projectable<int*, void(int)>); // void(int) doesn't satisfy indirectly_regular_unary_invocable diff --git a/libcxx/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/copy.pass.cpp b/libcxx/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/copy.pass.cpp index 050f4ac7cc6d..7474a8d3dde9 100644 --- a/libcxx/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/copy.pass.cpp +++ b/libcxx/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/copy.pass.cpp @@ -27,9 +27,9 @@ TEST_CONSTEXPR_CXX14 bool test_constexpr() { return true; } -struct thowing_copy_constructor { - thowing_copy_constructor() {} - thowing_copy_constructor(const thowing_copy_constructor&) TEST_NOEXCEPT_FALSE {} +struct throwing_copy_constructor { + throwing_copy_constructor() {} + throwing_copy_constructor(const throwing_copy_constructor&) TEST_NOEXCEPT_FALSE {} }; int main(int, char**) @@ -43,11 +43,11 @@ int main(int, char**) #endif } { - std::istream_iterator<thowing_copy_constructor> io; - std::istream_iterator<thowing_copy_constructor> i = io; - assert(i == std::istream_iterator<thowing_copy_constructor>()); + std::istream_iterator<throwing_copy_constructor> io; + std::istream_iterator<throwing_copy_constructor> i = io; + assert(i == std::istream_iterator<throwing_copy_constructor>()); #if TEST_STD_VER >= 11 - static_assert(!std::is_nothrow_copy_constructible<std::istream_iterator<thowing_copy_constructor>>::value, ""); + static_assert(!std::is_nothrow_copy_constructible<std::istream_iterator<throwing_copy_constructor>>::value, ""); #endif } { diff --git a/libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_overlong.pass.cpp b/libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_overlong.pass.cpp index 8fe74cdaca5e..0b7a38e5104c 100644 --- a/libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_overlong.pass.cpp +++ b/libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_overlong.pass.cpp @@ -16,8 +16,6 @@ // Ensure that money_get::do_get correct works when the input doesn't fit into the stack buffer // (100 characters currently). -// XFAIL: FROZEN-CXX03-HEADERS-FIXME - #include <cassert> #include <cstddef> #include <ios> diff --git a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp index 06a974ad1bee..8db40b9e0dcb 100644 --- a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp +++ b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp @@ -1858,7 +1858,7 @@ void test2() { // 64 mantissa bits are grouped by nibble as they are stored in the long // double representation (nibble aligned at the end of the least significant // bits). This makes 1.0L to be formatted as "0x8p-3" (where the leading - // bit of the mantissa is the higest bit in the 0x8 nibble), and makes + // bit of the mantissa is the highest bit in the 0x8 nibble), and makes // __LDBL_MAX__ be formatted as "0xf.fffffffffffffffp+16380". // // FreeBSD normalizes/aligns the leading bit of the mantissa as a separate diff --git a/libcxx/test/std/numerics/c.math/cmath.pass.cpp b/libcxx/test/std/numerics/c.math/cmath.pass.cpp index 1f7c697784c1..e02ac3446e82 100644 --- a/libcxx/test/std/numerics/c.math/cmath.pass.cpp +++ b/libcxx/test/std/numerics/c.math/cmath.pass.cpp @@ -1210,7 +1210,7 @@ void test_hypot() assert(std::hypot(1,4,8) == 9); // Check for undue over-/underflows of intermediate results. - // See discussion at https://github.com/llvm/llvm-project/issues/92782. + // See discussion at https://llvm.org/PR92782. types::for_each(types::floating_point_types(), TestHypot3()); #endif } diff --git a/libcxx/test/std/numerics/c.math/hermite.pass.cpp b/libcxx/test/std/numerics/c.math/hermite.pass.cpp index f1a37c5ddc15..290595094258 100644 --- a/libcxx/test/std/numerics/c.math/hermite.pass.cpp +++ b/libcxx/test/std/numerics/c.math/hermite.pass.cpp @@ -319,7 +319,7 @@ void test() { static_assert(sizeof(double) == 8); for (unsigned n = 0; n < get_maximal_order<Real>(); ++n) { // Q: Why n=111 and x=300? - // A: Both are chosen s.t. the first overlow occurs for some `n<get_maximal_order<Real>()`. + // A: Both are chosen s.t. the first overflow occurs for some `n<get_maximal_order<Real>()`. if (n < 111) { assert(std::isfinite(std::hermite(n, +300.0))); assert(std::isfinite(std::hermite(n, -300.0))); diff --git a/libcxx/test/std/numerics/complex.number/complex.special/gh_101960_ambiguous_ctor.pass.cpp b/libcxx/test/std/numerics/complex.number/complex.special/gh_101960_ambiguous_ctor.pass.cpp index bffe8764386a..2bff5808852a 100644 --- a/libcxx/test/std/numerics/complex.number/complex.special/gh_101960_ambiguous_ctor.pass.cpp +++ b/libcxx/test/std/numerics/complex.number/complex.special/gh_101960_ambiguous_ctor.pass.cpp @@ -8,8 +8,7 @@ // <complex> -// Regression test for https://github.com/llvm/llvm-project/issues/101960 where we used to -// trigger an ambiguous constructor. +// Regression test for https://llvm.org/PR101960 where we used to trigger an ambiguous constructor. #include <complex> #include <cassert> diff --git a/libcxx/test/std/numerics/complex.number/complex/bit_cast.pass.cpp b/libcxx/test/std/numerics/complex.number/complex/bit_cast.pass.cpp index c35d4d6c6329..e2aaf416f0e4 100644 --- a/libcxx/test/std/numerics/complex.number/complex/bit_cast.pass.cpp +++ b/libcxx/test/std/numerics/complex.number/complex/bit_cast.pass.cpp @@ -8,8 +8,7 @@ // UNSUPPORTED: c++03, c++11, c++14, c++17 -// Make sure that std::bit_cast works with std::complex. Test case extracted from -// https://github.com/llvm/llvm-project/issues/94620. +// Make sure that std::bit_cast works with std::complex. Test case extracted from https://llvm.org/PR94620. #include <bit> #include <complex> diff --git a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/and_valarray.pass.cpp b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/and_valarray.pass.cpp index 15a2b03bf84b..594b99bc0958 100644 --- a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/and_valarray.pass.cpp +++ b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/and_valarray.pass.cpp @@ -21,7 +21,7 @@ // // The const overloads of // valarray::operator[](...) const -// return propxy objects. These proxies are implicitly convertible to +// return proxy objects. These proxies are implicitly convertible to // std::valarray. // // Validate the function works for valarray, the proxies, and __val_expr. diff --git a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/divide_valarray.pass.cpp b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/divide_valarray.pass.cpp index e4fe675a9ec3..8c1fb2afd96f 100644 --- a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/divide_valarray.pass.cpp +++ b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/divide_valarray.pass.cpp @@ -21,7 +21,7 @@ // // The const overloads of // valarray::operator[](...) const -// return propxy objects. These proxies are implicitly convertible to +// return proxy objects. These proxies are implicitly convertible to // std::valarray. // // Validate the function works for valarray, the proxies, and __val_expr. diff --git a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/minus_valarray.pass.cpp b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/minus_valarray.pass.cpp index 54aa7fd4c269..6e13d2618b6b 100644 --- a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/minus_valarray.pass.cpp +++ b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/minus_valarray.pass.cpp @@ -21,7 +21,7 @@ // // The const overloads of // valarray::operator[](...) const -// return propxy objects. These proxies are implicitly convertible to +// return proxy objects. These proxies are implicitly convertible to // std::valarray. // // Validate the function works for valarray, the proxies, and __val_expr. diff --git a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/modulo_valarray.pass.cpp b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/modulo_valarray.pass.cpp index e52097ae68e2..1246ab35547b 100644 --- a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/modulo_valarray.pass.cpp +++ b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/modulo_valarray.pass.cpp @@ -21,7 +21,7 @@ // // The const overloads of // valarray::operator[](...) const -// return propxy objects. These proxies are implicitly convertible to +// return proxy objects. These proxies are implicitly convertible to // std::valarray. // // Validate the function works for valarray, the proxies, and __val_expr. diff --git a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/or_valarray.pass.cpp b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/or_valarray.pass.cpp index 429953e272b6..9387fccbf153 100644 --- a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/or_valarray.pass.cpp +++ b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/or_valarray.pass.cpp @@ -21,7 +21,7 @@ // // The const overloads of // valarray::operator[](...) const -// return propxy objects. These proxies are implicitly convertible to +// return proxy objects. These proxies are implicitly convertible to // std::valarray. // // Validate the function works for valarray, the proxies, and __val_expr. diff --git a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/plus_valarray.pass.cpp b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/plus_valarray.pass.cpp index 6aacf4f68b98..d1737a016e53 100644 --- a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/plus_valarray.pass.cpp +++ b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/plus_valarray.pass.cpp @@ -21,7 +21,7 @@ // // The const overloads of // valarray::operator[](...) const -// return propxy objects. These proxies are implicitly convertible to +// return proxy objects. These proxies are implicitly convertible to // std::valarray. // // Validate the function works for valarray, the proxies, and __val_expr. diff --git a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/shift_left_valarray.pass.cpp b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/shift_left_valarray.pass.cpp index 3ff264308f88..cb1af636cde5 100644 --- a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/shift_left_valarray.pass.cpp +++ b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/shift_left_valarray.pass.cpp @@ -19,7 +19,7 @@ // // The const overloads of // valarray::operator[](...) const -// return propxy objects. These proxies are implicitly convertible to +// return proxy objects. These proxies are implicitly convertible to // std::valarray. // // Validate the function works for valarray, the proxies, and __val_expr. diff --git a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/shift_right_valarray.pass.cpp b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/shift_right_valarray.pass.cpp index 140ec4dad5f4..11bbf01ea687 100644 --- a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/shift_right_valarray.pass.cpp +++ b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/shift_right_valarray.pass.cpp @@ -19,7 +19,7 @@ // // The const overloads of // valarray::operator[](...) const -// return propxy objects. These proxies are implicitly convertible to +// return proxy objects. These proxies are implicitly convertible to // std::valarray. // // valarray& operator>>=(const valarray& v); diff --git a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/times_valarray.pass.cpp b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/times_valarray.pass.cpp index 58361fa697b6..10333ee91029 100644 --- a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/times_valarray.pass.cpp +++ b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/times_valarray.pass.cpp @@ -19,7 +19,7 @@ // // The const overloads of // valarray::operator[](...) const -// return propxy objects. These proxies are implicitly convertible to +// return proxy objects. These proxies are implicitly convertible to // std::valarray. // // valarray& operator*=(const valarray& v); diff --git a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/xor_valarray.pass.cpp b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/xor_valarray.pass.cpp index 0b3ffe4f9324..484189e806be 100644 --- a/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/xor_valarray.pass.cpp +++ b/libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/xor_valarray.pass.cpp @@ -19,7 +19,7 @@ // // The const overloads of // valarray::operator[](...) const -// return propxy objects. These proxies are implicitly convertible to +// return proxy objects. These proxies are implicitly convertible to // std::valarray. // // valarray& operator^=(const valarray& v); diff --git a/libcxx/test/std/numerics/numeric.ops/numeric.ops.lcm/lcm.pass.cpp b/libcxx/test/std/numerics/numeric.ops/numeric.ops.lcm/lcm.pass.cpp index edd6d9fef0d7..11329207f185 100644 --- a/libcxx/test/std/numerics/numeric.ops/numeric.ops.lcm/lcm.pass.cpp +++ b/libcxx/test/std/numerics/numeric.ops/numeric.ops.lcm/lcm.pass.cpp @@ -149,7 +149,7 @@ int main(int argc, char**) assert(res1 == 1324997410816LL); } - // https://github.com/llvm/llvm-project/issues/96196 + // https://llvm.org/PR96196 { assert(test_limits<unsigned int>()); assert(test_limits<std::uint32_t>()); diff --git a/libcxx/test/std/ranges/range.adaptors/range.as.rvalue/adaptor.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.as.rvalue/adaptor.pass.cpp index dbe15238ebc8..12ae84c3fb34 100644 --- a/libcxx/test/std/ranges/range.adaptors/range.as.rvalue/adaptor.pass.cpp +++ b/libcxx/test/std/ranges/range.adaptors/range.as.rvalue/adaptor.pass.cpp @@ -48,6 +48,18 @@ struct move_iterator_range { static_assert(!std::ranges::view<move_iterator_range>); static_assert(std::ranges::range<move_iterator_range>); +// LWG4083: views::as_rvalue should reject non-input ranges +struct I { + int operator*(); + using difference_type = int; + I& operator++(); + void operator++(int); +}; +static_assert(!std::is_invocable_v<decltype(std::views::as_rvalue), + decltype(std::ranges::subrange{I{}, std::unreachable_sentinel})>); +static_assert( + !HasPipe<decltype(std::ranges::subrange{I{}, std::unreachable_sentinel}), decltype(std::views::as_rvalue)>); + constexpr bool test() { { // view | views::as_rvalue DefaultConstructibleView v{{}, 3}; diff --git a/libcxx/test/std/ranges/range.adaptors/range.lazy.split/types.h b/libcxx/test/std/ranges/range.adaptors/range.lazy.split/types.h index 5cd400d495c8..41b49974d97b 100644 --- a/libcxx/test/std/ranges/range.adaptors/range.lazy.split/types.h +++ b/libcxx/test/std/ranges/range.adaptors/range.lazy.split/types.h @@ -60,7 +60,7 @@ struct ForwardDiffView : std::ranges::view_base { constexpr explicit ForwardDiffView() = default; constexpr ForwardDiffView(const char* ptr) : ForwardDiffView(std::string_view(ptr)) {} constexpr ForwardDiffView(std::string_view v) { - // Workaround https://github.com/llvm/llvm-project/issues/55867 + // Workaround https://llvm.org/PR55867 buffer_ = v; } constexpr ForwardDiffView(ForwardDiffView&&) = default; @@ -144,7 +144,7 @@ struct InputView : std::ranges::view_base { constexpr InputView() = default; constexpr InputView(const char* s) : InputView(std::string_view(s)) {} constexpr InputView(std::string_view v) { - // Workaround https://github.com/llvm/llvm-project/issues/55867 + // Workaround https://llvm.org/PR55867 buffer_ = v; } diff --git a/libcxx/test/std/ranges/range.adaptors/range.zip.transform/general.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.zip.transform/general.pass.cpp index 3c35de27deb6..4b057946abba 100644 --- a/libcxx/test/std/ranges/range.adaptors/range.zip.transform/general.pass.cpp +++ b/libcxx/test/std/ranges/range.adaptors/range.zip.transform/general.pass.cpp @@ -8,7 +8,7 @@ // UNSUPPORTED: c++03, c++11, c++14, c++17, c++20 -// Some basic examples of how zip_tranform_view might be used in the wild. This is a general +// Some basic examples of how zip_transform_view might be used in the wild. This is a general // collection of sample algorithms and functions that try to mock general usage of // this view. diff --git a/libcxx/test/std/ranges/range.factories/range.iota.view/size.pass.cpp b/libcxx/test/std/ranges/range.factories/range.iota.view/size.pass.cpp index b894bc542be1..8563b85f65db 100644 --- a/libcxx/test/std/ranges/range.factories/range.iota.view/size.pass.cpp +++ b/libcxx/test/std/ranges/range.factories/range.iota.view/size.pass.cpp @@ -91,7 +91,7 @@ constexpr bool test() { } // Make sure iota_view<short, short> works properly. For details, - // see https://github.com/llvm/llvm-project/issues/67551. + // see https://llvm.org/PR67551. { static_assert(std::ranges::sized_range<std::ranges::iota_view<short, short>>); std::ranges::iota_view<short, short> io(10, 20); diff --git a/libcxx/test/std/ranges/range.req/range.view/enable_view.compile.pass.cpp b/libcxx/test/std/ranges/range.req/range.view/enable_view.compile.pass.cpp index 202b5bba451c..0643ee6b192b 100644 --- a/libcxx/test/std/ranges/range.req/range.view/enable_view.compile.pass.cpp +++ b/libcxx/test/std/ranges/range.req/range.view/enable_view.compile.pass.cpp @@ -146,7 +146,7 @@ static_assert(!std::ranges::enable_view<const PrivateInherit>); static_assert(!std::ranges::enable_view<volatile PrivateInherit>); static_assert(!std::ranges::enable_view<const volatile PrivateInherit>); -// https://github.com/llvm/llvm-project/issues/132577 +// https://llvm.org/PR132577 // enable_view<view_interface<T>> should be false. static_assert(!std::ranges::enable_view<std::ranges::view_interface<V1>>); static_assert(!std::ranges::enable_view<const std::ranges::view_interface<V1>>); diff --git a/libcxx/test/std/ranges/ranges_robust_against_no_unique_address.pass.cpp b/libcxx/test/std/ranges/ranges_robust_against_no_unique_address.pass.cpp index 06186656f012..505ed2e77ae3 100644 --- a/libcxx/test/std/ranges/ranges_robust_against_no_unique_address.pass.cpp +++ b/libcxx/test/std/ranges/ranges_robust_against_no_unique_address.pass.cpp @@ -9,7 +9,7 @@ // UNSUPPORTED: c++03, c++11, c++14, c++17 // Test that views that use __movable_box do not overwrite overlapping subobjects. -// https://github.com/llvm/llvm-project/issues/70506 +// https://llvm.org/PR70506 #include <cassert> #include <ranges> diff --git a/libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp index ac660d8fe994..45a52acab464 100644 --- a/libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp +++ b/libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp @@ -8,8 +8,6 @@ // UNSUPPORTED: no-exceptions -// XFAIL: FROZEN-CXX03-HEADERS-FIXME - // <string> // size_type max_size() const; // constexpr since C++20 diff --git a/libcxx/test/std/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp b/libcxx/test/std/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp index a3b16c8da16c..230852445e92 100644 --- a/libcxx/test/std/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp +++ b/libcxx/test/std/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp @@ -63,7 +63,7 @@ TEST_CONSTEXPR_CXX20 bool test() { #if TEST_STD_VER >= 23 { // Make sure shrink_to_fit never increases capacity - // See: https://github.com/llvm/llvm-project/issues/95161 + // See: https://llvm.org/PR95161 std::basic_string<char, std::char_traits<char>, increasing_allocator<char>> s{ "String does not fit in the internal buffer"}; std::size_t capacity = s.capacity(); diff --git a/libcxx/test/std/strings/basic.string/string.cons/copy_alloc.pass.cpp b/libcxx/test/std/strings/basic.string/string.cons/copy_alloc.pass.cpp index b0045cb4afbb..c4fd5afe83a4 100644 --- a/libcxx/test/std/strings/basic.string/string.cons/copy_alloc.pass.cpp +++ b/libcxx/test/std/strings/basic.string/string.cons/copy_alloc.pass.cpp @@ -65,16 +65,6 @@ template <typename T, typename U> bool operator!=(const poca_alloc<T>& lhs, const poca_alloc<U>& rhs) { return lhs.imp != rhs.imp; } - -template <class S> -TEST_CONSTEXPR_CXX20 void test_assign(S& s1, const S& s2) { - try { - s1 = s2; - } catch (std::bad_alloc&) { - return; - } - assert(false); -} #endif template <class S> @@ -122,7 +112,11 @@ TEST_CONSTEXPR_CXX20 bool test() { assert(s2 == p2); imp2.deactivate(); - test_assign(s1, s2); + try { + s1 = s2; + assert(false); + } catch (std::bad_alloc&) { + } assert(s1 == p1); assert(s2 == p2); } diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_append/pointer_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_append/pointer_size.pass.cpp index 425a481b7163..8a13f11cf156 100644 --- a/libcxx/test/std/strings/basic.string/string.modifiers/string_append/pointer_size.pass.cpp +++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_append/pointer_size.pass.cpp @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -// XFAIL: FROZEN-CXX03-HEADERS-FIXME - // <string> // basic_string<charT,traits,Allocator>& diff --git a/libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string.string_view.pass.cpp b/libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string.string_view.pass.cpp index 388b9ffd3b16..0f1c7fde4770 100644 --- a/libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string.string_view.pass.cpp +++ b/libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string.string_view.pass.cpp @@ -120,9 +120,9 @@ constexpr void test(const CharT* x, const CharT* y, const CharT* expected) { } // string_view + string&& { - // TODO: Remove workaround once https://github.com/llvm/llvm-project/issues/92382 is fixed. + // TODO: Remove workaround once https://llvm.org/PR92382 is fixed. // Create a `basic_string` to workaround clang bug: - // https://github.com/llvm/llvm-project/issues/92382 + // https://llvm.org/PR92382 // Comparison between pointers to a string literal and some other object results in constant evaluation failure. if constexpr (std::same_as<StringViewT<CharT, TraitsT>, std::basic_string_view<CharT, TraitsT>>) { std::basic_string<CharT, TraitsT, AllocT> st_{x, allocator}; diff --git a/libcxx/test/std/thread/futures/futures.async/thread_create_failure.pass.cpp b/libcxx/test/std/thread/futures/futures.async/thread_create_failure.pass.cpp index 4e087fd4226d..70009589e985 100644 --- a/libcxx/test/std/thread/futures/futures.async/thread_create_failure.pass.cpp +++ b/libcxx/test/std/thread/futures/futures.async/thread_create_failure.pass.cpp @@ -8,7 +8,7 @@ // // UNSUPPORTED: no-threads, no-exceptions -// ASan seems to try to create threadsm which obviouly doesn't work in this test. +// ASan seems to try to create threadsm which obviously doesn't work in this test. // UNSUPPORTED: asan, hwasan // UNSUPPORTED: c++03 diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/type.verify.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/type.verify.cpp index 72171c99a612..7deaffd4d2d7 100644 --- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/type.verify.cpp +++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/type.verify.cpp @@ -12,7 +12,7 @@ // <future> // Verify that the non-conforming extension packaged_task::result_type is removed. -// See https://github.com/llvm/llvm-project/issues/112856. +// See https://llvm.org/PR112856. #include <future> diff --git a/libcxx/test/std/thread/thread.jthread/assign.move.pass.cpp b/libcxx/test/std/thread/thread.jthread/assign.move.pass.cpp index fd5a1705c56a..8527af1344e2 100644 --- a/libcxx/test/std/thread/thread.jthread/assign.move.pass.cpp +++ b/libcxx/test/std/thread/thread.jthread/assign.move.pass.cpp @@ -112,7 +112,7 @@ int main(int, char**) { assert(j1.get_id() == j2Id); } - // LWG3788: self-assignement + // LWG3788: self-assignment { std::jthread j = support::make_test_jthread([] {}); auto oldId = j.get_id(); diff --git a/libcxx/test/std/thread/thread.jthread/join.deadlock.pass.cpp b/libcxx/test/std/thread/thread.jthread/join.deadlock.pass.cpp index 21fbacde36cb..d71f80296e9b 100644 --- a/libcxx/test/std/thread/thread.jthread/join.deadlock.pass.cpp +++ b/libcxx/test/std/thread/thread.jthread/join.deadlock.pass.cpp @@ -10,7 +10,7 @@ // it would dead lock the test // UNSUPPORTED: windows -// TSAN bug: https://github.com/llvm/llvm-project/issues/66537 +// TSAN bug: https://llvm.org/PR66537 // UNSUPPORTED: tsan // UNSUPPORTED: no-threads diff --git a/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/call_once.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/call_once.pass.cpp index ea5b63d2804a..121705f2e3a9 100644 --- a/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/call_once.pass.cpp +++ b/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/call_once.pass.cpp @@ -8,8 +8,6 @@ // UNSUPPORTED: no-threads -// XFAIL: FROZEN-CXX03-HEADERS-FIXME - // <mutex> // struct once_flag; diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/cmp.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/cmp.pass.cpp index 7be937aa948c..2ef27ce60fc9 100644 --- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/cmp.pass.cpp +++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/cmp.pass.cpp @@ -51,7 +51,7 @@ int main(int, char**) { assert(testOrder(id1, id3, isLess ? std::strong_ordering::less : std::strong_ordering::greater)); #endif - // Regression tests for https://github.com/llvm/llvm-project/issues/56187 + // Regression tests for https://llvm.org/PR56187 // libc++ previously declared the comparison operators as hidden friends // which was non-conforming. assert(std::operator==(id1, id2)); diff --git a/libcxx/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp b/libcxx/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp index a25711fc970c..4e84db9a84d7 100644 --- a/libcxx/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp +++ b/libcxx/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp @@ -215,7 +215,7 @@ static void test_units() { template <class CharT> static void test_unsigned_types() { - // Reported in https://github.com/llvm/llvm-project/issues/96820 + // Reported in https://llvm.org/PR96820 using namespace std::literals::chrono_literals; // C locale diff --git a/libcxx/test/std/time/time.hms/time.hms.nonmembers/ostream.pass.cpp b/libcxx/test/std/time/time.hms/time.hms.nonmembers/ostream.pass.cpp index 6ee419fc07c0..e281098de55d 100644 --- a/libcxx/test/std/time/time.hms/time.hms.nonmembers/ostream.pass.cpp +++ b/libcxx/test/std/time/time.hms/time.hms.nonmembers/ostream.pass.cpp @@ -63,7 +63,7 @@ template <class CharT> static void test() { // Note std::atto can't be tested since the ratio conversion from std::atto // std::chrono::seconds to std::chrono::hours overflows when intmax_t is a - // 64-bit type. This is a limitiation in the constructor of + // 64-bit type. This is a limitation in the constructor of // std::chrono::hh_mm_ss. // C locale - integral power of 10 ratios diff --git a/libcxx/test/std/time/time.syn/formatter.duration.pass.cpp b/libcxx/test/std/time/time.syn/formatter.duration.pass.cpp index 20918927bf24..973bce8f81d4 100644 --- a/libcxx/test/std/time/time.syn/formatter.duration.pass.cpp +++ b/libcxx/test/std/time/time.syn/formatter.duration.pass.cpp @@ -1163,7 +1163,7 @@ static void test_pr62082() { template <class CharT> static void test_unsigned_duration() { - // Reported in https://github.com/llvm/llvm-project/issues/96820 + // Reported in https://llvm.org/PR96820 using namespace std::literals::chrono_literals; check(SV("1as"), SV("{}"), std::chrono::duration<unsigned short, std::atto>(1)); diff --git a/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.local_time.pass.cpp b/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.local_time.pass.cpp index 76dd8bc746fc..1d0234468f41 100644 --- a/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.local_time.pass.cpp +++ b/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.local_time.pass.cpp @@ -1017,8 +1017,8 @@ static void test_europe_dublin() { static void test_america_st_johns() { // A more typical entry, - // Uses letters both when DST is ative and not and has multiple - // letters. Uses negetive offsets. + // Uses letters both when DST is active and not and has multiple + // letters. Uses negative offsets. // Switches several times between their own and Canadian rules // Switches the stdoff from -3:30:52 to -3:30 while observing the same rule diff --git a/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp b/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp index 1a1705d5ae59..1924af4bd671 100644 --- a/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp +++ b/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp @@ -34,7 +34,7 @@ // The data in the tests can be validated by using the zdump tool. For // example // zdump -v Asia/Hong_Kong -// show all transistions in the Hong Kong time zone. Or +// show all transitions in the Hong Kong time zone. Or // zdump -c1970,1980 -v Asia/Hong_Kong // shows all transitions in Hong Kong between 1970 and 1980. @@ -177,7 +177,7 @@ static void test_antarctica_syowa() { // This change uses an ON field with a day number // // There don't seem to be rule-less zones that use last day or a - // contrained day + // constrained day // Z Antarctica/Syowa 0 - -00 1957 Ja 29 // 3 - +03 @@ -605,8 +605,8 @@ static void test_europe_berlin() { static void test_america_st_johns() { // A more typical entry, - // Uses letters both when DST is ative and not and has multiple - // letters. Uses negetive offsets. + // Uses letters both when DST is active and not and has multiple + // letters. Uses negative offsets. // Switches several times between their own and Canadian rules // Switches the stdoff from -3:30:52 to -3:30 while observing the same rule @@ -1036,7 +1036,7 @@ static void test_africa_freetown() { using namespace std::literals::chrono_literals; const std::chrono::time_zone* tz = std::chrono::locate_zone("Africa/Freetown"); - // When a continuation has a named rule, the tranisition time determined by + // When a continuation has a named rule, the transition time determined by // the active rule can be wrong. The next continuation may set the clock to an // earlier time. This is tested for San Luis. This tests the rule is not used // when the rule is not a named rule. diff --git a/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/to_sys_choose.pass.cpp b/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/to_sys_choose.pass.cpp index 1147c9fadf9a..b2dbdb1bb66b 100644 --- a/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/to_sys_choose.pass.cpp +++ b/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/to_sys_choose.pass.cpp @@ -141,7 +141,7 @@ static void test_ambiguous() { assert(tz->to_sys(time + 0ms, std::chrono::choose::earliest) == earlier); assert(tz->to_sys(time + 0s, std::chrono::choose::latest) == later); - // Test times in the ambigious hour + // Test times in the ambiguous hour assert(tz->to_sys(time + 1s, std::chrono::choose::earliest) == earlier + 1s); assert(tz->to_sys(time + 1min, std::chrono::choose::latest) == later + 1min); assert(tz->to_sys(time + 30min, std::chrono::choose::earliest) == earlier + 30min); diff --git a/libcxx/test/std/time/time.zone/time.zone.zonedtime/types.compile.pass.cpp b/libcxx/test/std/time/time.zone/time.zone.zonedtime/types.compile.pass.cpp index 497da859265c..96f17b38f862 100644 --- a/libcxx/test/std/time/time.zone/time.zone.zonedtime/types.compile.pass.cpp +++ b/libcxx/test/std/time/time.zone/time.zone.zonedtime/types.compile.pass.cpp @@ -58,7 +58,7 @@ static_assert(std::is_copy_assignable_v<std::chrono::zoned_time<std::chrono::day static_assert(std::is_move_assignable_v<std::chrono::zoned_time<std::chrono::days, int>>); // Test with a move only type, since the copy constructor is defined, no move -// constuctor is generated. +// constructor is generated. static_assert(!std::is_copy_constructible_v<std::chrono::zoned_time< std::chrono::days, std::unique_ptr<int>>>); static_assert(!std::is_move_constructible_v<std::chrono::zoned_time< std::chrono::days, std::unique_ptr<int>>>); static_assert(!std::is_copy_assignable_v<std::chrono::zoned_time< std::chrono::days, std::unique_ptr<int>>>); diff --git a/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/allocs.pass.cpp b/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/allocs.pass.cpp index 1135eadbb95f..73b2ad513ead 100644 --- a/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/allocs.pass.cpp +++ b/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/allocs.pass.cpp @@ -112,7 +112,7 @@ int main(int, char**) { ""); } { - // Test construction from convertible-to-allocator types (https://github.com/llvm/llvm-project/issues/78754) + // Test construction from convertible-to-allocator types (https://llvm.org/PR78754) typedef std::scoped_allocator_adaptor<A1<int>, A1<int>> A; A a(A1<char>(4), A1<char>(5)); assert(a.outer_allocator() == A1<int>(4)); diff --git a/libcxx/test/std/utilities/allocator.adaptor/base-is-uglified.compile.pass.cpp b/libcxx/test/std/utilities/allocator.adaptor/base-is-uglified.compile.pass.cpp index 2581ac079dc5..dc53e2a63277 100644 --- a/libcxx/test/std/utilities/allocator.adaptor/base-is-uglified.compile.pass.cpp +++ b/libcxx/test/std/utilities/allocator.adaptor/base-is-uglified.compile.pass.cpp @@ -13,7 +13,7 @@ // This test ensures that we don't use a non-uglified name 'base' in the // implementation of scoped_allocator_adaptor. // -// See https://github.com/llvm/llvm-project/issues/78754. +// See https://llvm.org/PR78754. #include <memory> #include <scoped_allocator> diff --git a/libcxx/test/std/utilities/charconv/charconv.from.chars/floating_point.pass.cpp b/libcxx/test/std/utilities/charconv/charconv.from.chars/floating_point.pass.cpp index 6faf0499c4c9..a02c7ac466f0 100644 --- a/libcxx/test/std/utilities/charconv/charconv.from.chars/floating_point.pass.cpp +++ b/libcxx/test/std/utilities/charconv/charconv.from.chars/floating_point.pass.cpp @@ -396,7 +396,7 @@ struct test_fixed { assert(x == F(-0.5)); } - { // double deciamal point + { // double decimal point const char* s = "1.25.78"; // This number is halfway between two float values. @@ -405,7 +405,7 @@ struct test_fixed { assert(r.ptr == s + 4); assert(x == F(1.25)); } - { // exponenent no sign + { // exponent no sign const char* s = "1.5e10"; r = std::from_chars(s, s + std::strlen(s), x, std::chars_format::fixed); @@ -413,7 +413,7 @@ struct test_fixed { assert(r.ptr == s + 3); assert(x == F(1.5)); } - { // exponenent capitalized no sign + { // exponent capitalized no sign const char* s = "1.5E10"; r = std::from_chars(s, s + std::strlen(s), x, std::chars_format::fixed); @@ -421,7 +421,7 @@ struct test_fixed { assert(r.ptr == s + 3); assert(x == F(1.5)); } - { // exponenent + sign + { // exponent + sign const char* s = "1.5e+10"; r = std::from_chars(s, s + std::strlen(s), x, std::chars_format::fixed); @@ -429,7 +429,7 @@ struct test_fixed { assert(r.ptr == s + 3); assert(x == F(1.5)); } - { // exponenent - sign + { // exponent - sign const char* s = "1.5e-10"; r = std::from_chars(s, s + std::strlen(s), x, std::chars_format::fixed); @@ -739,7 +739,7 @@ struct test_scientific { assert(x == F(1.0)); } - { // double deciamal point + { // double decimal point const char* s = "1.25e0.78"; // This number is halfway between two float values. @@ -749,7 +749,7 @@ struct test_scientific { assert(x == F(1.25)); } - { // exponenent no sign + { // exponent no sign const char* s = "1.5e10"; r = std::from_chars(s, s + std::strlen(s), x, std::chars_format::scientific); @@ -757,7 +757,7 @@ struct test_scientific { assert(r.ptr == s + 6); assert(x == F(1.5e10)); } - { // exponenent capitalized no sign + { // exponent capitalized no sign const char* s = "1.5E10"; r = std::from_chars(s, s + std::strlen(s), x, std::chars_format::scientific); @@ -765,7 +765,7 @@ struct test_scientific { assert(r.ptr == s + 6); assert(x == F(1.5e10)); } - { // exponenent + sign + { // exponent + sign const char* s = "1.5e+10"; r = std::from_chars(s, s + std::strlen(s), x, std::chars_format::scientific); @@ -773,7 +773,7 @@ struct test_scientific { assert(r.ptr == s + 7); assert(x == F(1.5e10)); } - { // exponenent - sign + { // exponent - sign const char* s = "1.5e-10"; r = std::from_chars(s, s + std::strlen(s), x, std::chars_format::scientific); @@ -958,7 +958,7 @@ struct test_general { assert(r.ptr == s + 3); assert(x == F(-0.5)); } - { // double deciamal point + { // double decimal point const char* s = "1.25.78"; // This number is halfway between two float values. @@ -967,7 +967,7 @@ struct test_general { assert(r.ptr == s + 4); assert(x == F(1.25)); } - { // exponenent no sign + { // exponent no sign const char* s = "1.5e10"; r = std::from_chars(s, s + std::strlen(s), x); @@ -975,7 +975,7 @@ struct test_general { assert(r.ptr == s + 6); assert(x == F(1.5e10)); } - { // exponenent capitalized no sign + { // exponent capitalized no sign const char* s = "1.5E10"; r = std::from_chars(s, s + std::strlen(s), x); @@ -983,7 +983,7 @@ struct test_general { assert(r.ptr == s + 6); assert(x == F(1.5e10)); } - { // exponenent + sign + { // exponent + sign const char* s = "1.5e+10"; r = std::from_chars(s, s + std::strlen(s), x); @@ -991,7 +991,7 @@ struct test_general { assert(r.ptr == s + 7); assert(x == F(1.5e10)); } - { // exponenent - sign + { // exponent - sign const char* s = "1.5e-10"; r = std::from_chars(s, s + std::strlen(s), x); @@ -1278,7 +1278,7 @@ struct test_hex { assert(r.ptr == s + 3); assert(x == F(-0x0.5p0)); } - { // double deciamal point + { // double decimal point const char* s = "1.25.78"; // This number is halfway between two float values. @@ -1287,7 +1287,7 @@ struct test_hex { assert(r.ptr == s + 4); assert(x == F(0x1.25p0)); } - { // exponenent no sign + { // exponent no sign const char* s = "1.5p10"; r = std::from_chars(s, s + std::strlen(s), x, std::chars_format::hex); @@ -1295,7 +1295,7 @@ struct test_hex { assert(r.ptr == s + 6); assert(x == F(0x1.5p10)); } - { // exponenent capitalized no sign + { // exponent capitalized no sign const char* s = "1.5P10"; r = std::from_chars(s, s + std::strlen(s), x, std::chars_format::hex); @@ -1303,7 +1303,7 @@ struct test_hex { assert(r.ptr == s + 6); assert(x == F(0x1.5p10)); } - { // exponenent + sign + { // exponent + sign const char* s = "1.5p+10"; r = std::from_chars(s, s + std::strlen(s), x, std::chars_format::hex); @@ -1311,7 +1311,7 @@ struct test_hex { assert(r.ptr == s + 7); assert(x == F(0x1.5p10)); } - { // exponenent - sign + { // exponent - sign const char* s = "1.5p-10"; r = std::from_chars(s, s + std::strlen(s), x, std::chars_format::hex); diff --git a/libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.copy.pass.cpp b/libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.copy.pass.cpp index 028655412c92..f8975a677674 100644 --- a/libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.copy.pass.cpp +++ b/libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.copy.pass.cpp @@ -123,7 +123,7 @@ constexpr bool test() { { // TODO: Drop this once AppleClang is upgraded #ifndef TEST_COMPILER_APPLE_CLANG - // https://github.com/llvm/llvm-project/issues/92676 + // https://llvm.org/PR92676 std::expected<Any, int> e1; auto e2 = e1; assert(e2.has_value()); diff --git a/libcxx/test/std/utilities/expected/expected.expected/observers/has_value.pass.cpp b/libcxx/test/std/utilities/expected/expected.expected/observers/has_value.pass.cpp index 6111d7a35113..43ca96eb1156 100644 --- a/libcxx/test/std/utilities/expected/expected.expected/observers/has_value.pass.cpp +++ b/libcxx/test/std/utilities/expected/expected.expected/observers/has_value.pass.cpp @@ -56,7 +56,7 @@ constexpr bool test() { // The other tests use a synthetic struct that clobbers its tail padding // on construction, making the issue easier to reproduce. // - // See https://github.com/llvm/llvm-project/issues/68552 and the linked PR. + // See https://llvm.org/PR68552 and the linked PR. { auto f1 = []() -> std::expected<std::optional<int>, long> { return 0; }; diff --git a/libcxx/test/std/utilities/expected/types.h b/libcxx/test/std/utilities/expected/types.h index df73ebdfe495..ff5fc2e4c814 100644 --- a/libcxx/test/std/utilities/expected/types.h +++ b/libcxx/test/std/utilities/expected/types.h @@ -157,7 +157,7 @@ struct MoveOnlyErrorType { // tail padding. With this type we can check that `std::expected` handles // the case where the "has value" flag is an overlapping subobject correctly. // -// See https://github.com/llvm/llvm-project/issues/68552 for details. +// See https://llvm.org/PR68552 for details. template <int Constant> struct TailClobberer { constexpr TailClobberer() noexcept { @@ -200,9 +200,8 @@ static_assert(std::is_nothrow_move_constructible_v<TailClobbererNonTrivialMove<0 static_assert(!std::is_nothrow_move_constructible_v<TailClobbererNonTrivialMove<0, false>>); // The `CheckForInvalidWrites` class recreates situations where other objects -// may be placed into a `std::expected`'s tail padding (see -// https://github.com/llvm/llvm-project/issues/70494). With a template -// parameter `WithPaddedExpected` two cases can be tested: +// may be placed into a `std::expected`'s tail padding (see https://llvm.org/PR70494). +// With a template parameter `WithPaddedExpected` two cases can be tested: // // 1. The `std::expected<T, E>` itself has padding, because `T`/`E` _don't_ // have tail padding. This is modelled by `CheckForInvalidWrites<true>` diff --git a/libcxx/test/std/utilities/format/format.functions/bug_81590.compile.pass.cpp b/libcxx/test/std/utilities/format/format.functions/bug_81590.compile.pass.cpp index c2508fdee092..23dd9fe841b9 100644 --- a/libcxx/test/std/utilities/format/format.functions/bug_81590.compile.pass.cpp +++ b/libcxx/test/std/utilities/format/format.functions/bug_81590.compile.pass.cpp @@ -11,7 +11,7 @@ // XFAIL: availability-fp_to_chars-missing // The sample code is based on the bug report -// https://github.com/llvm/llvm-project/issues/81590 +// https://llvm.org/PR81590 // // Tests whether this formatter does not fail to compile due to nested concept // evaluation. diff --git a/libcxx/test/std/utilities/format/format.functions/format_tests.h b/libcxx/test/std/utilities/format/format.functions/format_tests.h index 60abd4ac4e22..4cba83afd429 100644 --- a/libcxx/test/std/utilities/format/format.functions/format_tests.h +++ b/libcxx/test/std/utilities/format/format.functions/format_tests.h @@ -3190,7 +3190,7 @@ void format_tests(TestFunction check, ExceptionTest check_exception) { check(SV("hello 09azAZ!"), SV("hello {}"), data); } { - // https://github.com/llvm/llvm-project/issues/115935 + // https://llvm.org/PR115935 // Contents after the embedded null character are discarded. CharT buffer[] = {CharT('a'), CharT('b'), CharT('c'), 0, CharT('d'), CharT('e'), CharT('f'), 0}; check(SV("hello abc"), SV("hello {}"), buffer); diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.const_ref.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparisons/compare.three_way.refwrap.const_ref.pass.cpp index 4a2ae963e3bd..4a2ae963e3bd 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.const_ref.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparisons/compare.three_way.refwrap.const_ref.pass.cpp diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparisons/compare.three_way.refwrap.refwrap.pass.cpp index 3d72459bc5a1..3d72459bc5a1 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparisons/compare.three_way.refwrap.refwrap.pass.cpp diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap_const.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparisons/compare.three_way.refwrap.refwrap_const.pass.cpp index 1ae22b4ac58e..1ae22b4ac58e 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap_const.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparisons/compare.three_way.refwrap.refwrap_const.pass.cpp diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.const_ref.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparisons/equal.refwrap.const_ref.pass.cpp index 316ff7c30331..316ff7c30331 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.const_ref.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparisons/equal.refwrap.const_ref.pass.cpp diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparisons/equal.refwrap.refwrap.pass.cpp index 70e79d399861..70e79d399861 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparisons/equal.refwrap.refwrap.pass.cpp diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap_const.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparisons/equal.refwrap.refwrap_const.pass.cpp index c68ad5c4aa52..c68ad5c4aa52 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap_const.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparisons/equal.refwrap.refwrap_const.pass.cpp diff --git a/libcxx/test/std/utilities/function.objects/unord.hash/enum.pass.cpp b/libcxx/test/std/utilities/function.objects/unord.hash/enum.pass.cpp index fd1fbe5f113b..05a19329f909 100644 --- a/libcxx/test/std/utilities/function.objects/unord.hash/enum.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/unord.hash/enum.pass.cpp @@ -21,6 +21,10 @@ #include "test_macros.h" +#if TEST_STD_VER >= 11 +# include "poisoned_hash_helper.h" +#endif + enum class Colors { red, orange, yellow, green, blue, indigo, violet }; enum class Cardinals { zero, one, two, three, five=5 }; enum class LongColors : short { red, orange, yellow, green, blue, indigo, violet }; @@ -33,6 +37,12 @@ template <class T> void test() { +#if TEST_STD_VER >= 11 + test_hash_disabled<const T>(); + test_hash_disabled<volatile T>(); + test_hash_disabled<const volatile T>(); +#endif + typedef std::hash<T> H; #if TEST_STD_VER <= 17 static_assert((std::is_same<typename H::argument_type, T>::value), ""); diff --git a/libcxx/test/std/utilities/function.objects/unord.hash/floating.pass.cpp b/libcxx/test/std/utilities/function.objects/unord.hash/floating.pass.cpp index b8f85e193dc8..f6c31d068b23 100644 --- a/libcxx/test/std/utilities/function.objects/unord.hash/floating.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/unord.hash/floating.pass.cpp @@ -27,10 +27,20 @@ #include "test_macros.h" +#if TEST_STD_VER >= 11 +# include "poisoned_hash_helper.h" +#endif + template <class T> void test() { +#if TEST_STD_VER >= 11 + test_hash_disabled<const T>(); + test_hash_disabled<volatile T>(); + test_hash_disabled<const volatile T>(); +#endif + typedef std::hash<T> H; #if TEST_STD_VER <= 17 static_assert((std::is_same<typename H::argument_type, T>::value), ""); diff --git a/libcxx/test/std/utilities/function.objects/unord.hash/integral.pass.cpp b/libcxx/test/std/utilities/function.objects/unord.hash/integral.pass.cpp index 14af7093c1e3..c798b3aa77ea 100644 --- a/libcxx/test/std/utilities/function.objects/unord.hash/integral.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/unord.hash/integral.pass.cpp @@ -26,10 +26,20 @@ #include "test_macros.h" +#if TEST_STD_VER >= 11 +# include "poisoned_hash_helper.h" +#endif + template <class T> void test() { +#if TEST_STD_VER >= 11 + test_hash_disabled<const T>(); + test_hash_disabled<volatile T>(); + test_hash_disabled<const volatile T>(); +#endif + typedef std::hash<T> H; #if TEST_STD_VER <= 17 static_assert((std::is_same<typename H::argument_type, T>::value), ""); diff --git a/libcxx/test/std/utilities/memory/allocator.uses/allocator.uses.construction/uses_allocator_construction_args.pass.cpp b/libcxx/test/std/utilities/memory/allocator.uses/allocator.uses.construction/uses_allocator_construction_args.pass.cpp index 235a93987fe4..93a445d7c9e0 100644 --- a/libcxx/test/std/utilities/memory/allocator.uses/allocator.uses.construction/uses_allocator_construction_args.pass.cpp +++ b/libcxx/test/std/utilities/memory/allocator.uses/allocator.uses.construction/uses_allocator_construction_args.pass.cpp @@ -123,7 +123,7 @@ constexpr void testOne() { } { // Tests for ensuring forward declarations of uses_allocator_construction_args - // See https://github.com/llvm/llvm-project/issues/66714. + // See https://llvm.org/PR66714. { using NestedPairType = std::pair<int, std::pair<int, UsesAllocArgT>>; std::same_as<std::tuple< diff --git a/libcxx/test/std/utilities/memory/pointer.conversion/to_address.pass.cpp b/libcxx/test/std/utilities/memory/pointer.conversion/to_address.pass.cpp index 9ed0eeefcff8..d0a8c07b726d 100644 --- a/libcxx/test/std/utilities/memory/pointer.conversion/to_address.pass.cpp +++ b/libcxx/test/std/utilities/memory/pointer.conversion/to_address.pass.cpp @@ -153,7 +153,7 @@ constexpr bool test() { assert(std::to_address(&p11) == &p11); ASSERT_SAME_TYPE(decltype(std::to_address(&p11)), int(**)()); - // See https://github.com/llvm/llvm-project/issues/67449 + // See https://llvm.org/PR67449 { struct S { }; S* p = nullptr; diff --git a/libcxx/test/std/utilities/memory/specialized.algorithms/overload_compare_iterator.h b/libcxx/test/std/utilities/memory/specialized.algorithms/overload_compare_iterator.h index f3b37292e717..094dd8e683ff 100644 --- a/libcxx/test/std/utilities/memory/specialized.algorithms/overload_compare_iterator.h +++ b/libcxx/test/std/utilities/memory/specialized.algorithms/overload_compare_iterator.h @@ -19,7 +19,7 @@ // An iterator type that overloads operator== and operator!= without any constraints, which // can trip up some algorithms if we compare iterators against types that we're not allowed to. // -// See https://github.com/llvm/llvm-project/issues/69334 for details. +// See https://llvm.org/PR69334 for details. template <class Iterator> struct overload_compare_iterator { static_assert( diff --git a/libcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/ranges_destroy_at.pass.cpp b/libcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/ranges_destroy_at.pass.cpp index 36b3aa8955ca..86e08284a03c 100644 --- a/libcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/ranges_destroy_at.pass.cpp +++ b/libcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/ranges_destroy_at.pass.cpp @@ -52,10 +52,7 @@ struct VirtualCountedBase { struct VirtualCountedDerived : VirtualCountedBase { constexpr VirtualCountedDerived(int& count_ref) : VirtualCountedBase(count_ref) {} - - // Without a definition, GCC gives an error when the destructor is invoked in a constexpr context (see - // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93413). - constexpr ~VirtualCountedDerived() override {} + constexpr ~VirtualCountedDerived() override = default; }; constexpr bool test() { diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/pr40459.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/pr40459.pass.cpp index 326c2193f592..ee001f060550 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/pr40459.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/pr40459.pass.cpp @@ -13,7 +13,7 @@ // template<class Y> weak_ptr(const weak_ptr<Y>& r); // template<class Y> weak_ptr(weak_ptr<Y>&& r); // -// Regression test for https://github.com/llvm/llvm-project/issues/40459 +// Regression test for https://llvm.org/PR41114 // Verify that these constructors never attempt a derived-to-virtual-base // conversion on a dangling weak_ptr. diff --git a/libcxx/test/std/utilities/meta/meta.rel/is_convertible.pass.cpp b/libcxx/test/std/utilities/meta/meta.rel/is_convertible.pass.cpp index b96c9b11e296..804650fde3f3 100644 --- a/libcxx/test/std/utilities/meta/meta.rel/is_convertible.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.rel/is_convertible.pass.cpp @@ -117,12 +117,9 @@ int main(int, char**) // Non-referencable function type static_assert((!std::is_convertible<ConstFunction, Function>::value), ""); -// TODO(LLVM-19): Re-enable this once we switch to GCC 14. This is https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109680 -#ifndef TEST_COMPILER_GCC static_assert((!std::is_convertible<ConstFunction, Function*>::value), ""); static_assert((!std::is_convertible<ConstFunction, Function&>::value), ""); static_assert((!std::is_convertible<ConstFunction, Function&&>::value), ""); -#endif static_assert((!std::is_convertible<Function*, ConstFunction>::value), ""); static_assert((!std::is_convertible<Function&, ConstFunction>::value), ""); static_assert((!std::is_convertible<ConstFunction, ConstFunction>::value), ""); diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.compile.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.compile.pass.cpp index bd7da40daf2b..0836ebb6c5c8 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.compile.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.compile.pass.cpp @@ -95,7 +95,7 @@ void test() { test<true, char[][2]>(); test<true, char[][2][3]>(); - // Important test case for https://github.com/llvm/llvm-project/issues/95311. + // Important test case for https://llvm.org/PR95311. // Note that the order is important here, we want to instantiate the array // variants before the non-array ones, otherwise we don't trigger the bug. { diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp index b7fd0937eb21..a68f3f40e364 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp @@ -35,10 +35,10 @@ enum class UnsignedEnumClass : unsigned int {}; struct EmptyStruct {}; struct IncompleteStruct; -struct NoEligibleTrivialContructor { - NoEligibleTrivialContructor() {}; - NoEligibleTrivialContructor(const NoEligibleTrivialContructor&) {} - NoEligibleTrivialContructor(NoEligibleTrivialContructor&&) {} +struct NoEligibleTrivialConstructor { + NoEligibleTrivialConstructor() {}; + NoEligibleTrivialConstructor(const NoEligibleTrivialConstructor&) {} + NoEligibleTrivialConstructor(NoEligibleTrivialConstructor&&) {} }; struct OnlyDefaultConstructorIsTrivial { @@ -47,22 +47,22 @@ struct OnlyDefaultConstructorIsTrivial { OnlyDefaultConstructorIsTrivial(OnlyDefaultConstructorIsTrivial&&) {} }; -struct AllContstructorsAreTrivial { - AllContstructorsAreTrivial() = default; - AllContstructorsAreTrivial(const AllContstructorsAreTrivial&) = default; - AllContstructorsAreTrivial(AllContstructorsAreTrivial&&) = default; +struct AllConstructorsAreTrivial { + AllConstructorsAreTrivial() = default; + AllConstructorsAreTrivial(const AllConstructorsAreTrivial&) = default; + AllConstructorsAreTrivial(AllConstructorsAreTrivial&&) = default; }; -struct InheritedNoEligibleTrivialConstructor : NoEligibleTrivialContructor { - using NoEligibleTrivialContructor::NoEligibleTrivialContructor; +struct InheritedNoEligibleTrivialConstructor : NoEligibleTrivialConstructor { + using NoEligibleTrivialConstructor::NoEligibleTrivialConstructor; }; struct InheritedOnlyDefaultConstructorIsTrivial : OnlyDefaultConstructorIsTrivial { using OnlyDefaultConstructorIsTrivial::OnlyDefaultConstructorIsTrivial; }; -struct InheritedAllContstructorsAreTrivial : AllContstructorsAreTrivial { - using AllContstructorsAreTrivial::AllContstructorsAreTrivial; +struct InheritedAllConstructorsAreTrivial : AllConstructorsAreTrivial { + using AllConstructorsAreTrivial::AllConstructorsAreTrivial; }; struct UserDeclaredDestructor { @@ -136,7 +136,7 @@ constexpr void test_is_implicit_lifetime() { test_is_implicit_lifetime<T[94], true>(); } -struct AritmeticTypesTest { +struct ArithmeticTypesTest { template <class T> constexpr void operator()() { test_is_implicit_lifetime<T>(); @@ -152,7 +152,7 @@ constexpr bool test() { test_is_implicit_lifetime<const void, false>(); test_is_implicit_lifetime<volatile void, false>(); - types::for_each(types::arithmetic_types(), AritmeticTypesTest{}); + types::for_each(types::arithmetic_types(), ArithmeticTypesTest{}); test_is_implicit_lifetime<Enum>(); test_is_implicit_lifetime<SignedEnum>(); @@ -184,17 +184,17 @@ constexpr bool test() { test_is_implicit_lifetime<UserProvidedDestructor, false>(); - test_is_implicit_lifetime<NoEligibleTrivialContructor, false>(); + test_is_implicit_lifetime<NoEligibleTrivialConstructor, false>(); test_is_implicit_lifetime<OnlyDefaultConstructorIsTrivial, true>(); - test_is_implicit_lifetime<AllContstructorsAreTrivial, true>(); + test_is_implicit_lifetime<AllConstructorsAreTrivial, true>(); test_is_implicit_lifetime<InheritedNoEligibleTrivialConstructor, false>(); test_is_implicit_lifetime<InheritedOnlyDefaultConstructorIsTrivial, true>(); - test_is_implicit_lifetime<InheritedAllContstructorsAreTrivial, true>(); + test_is_implicit_lifetime<InheritedAllConstructorsAreTrivial, true>(); test_is_implicit_lifetime<UserDeletedDestructorInAggregate, true>(); diff --git a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/gh_101960_internal_ctor.compile.pass.cpp b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/gh_101960_internal_ctor.compile.pass.cpp index 1a1d6f52a5fe..8f332b98c100 100644 --- a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/gh_101960_internal_ctor.compile.pass.cpp +++ b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/gh_101960_internal_ctor.compile.pass.cpp @@ -10,7 +10,7 @@ // <optional> -// Regression test for https://github.com/llvm/llvm-project/issues/101960 where a constructor +// Regression test for https://llvm.org/PR101960 where a constructor // of std::optional that should have been private was instead publicly available. #include <optional> diff --git a/libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr.general.pass.cpp b/libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr.general.pass.cpp index d55a0c2abd46..864b5f444fd8 100644 --- a/libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr.general.pass.cpp +++ b/libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr.general.pass.cpp @@ -54,7 +54,7 @@ void test_replace_int_p() { replace_int_p(std::inout_ptr(uPtr, std::move(del))); assert(*uPtr == 84); - assert(uPtr.get_deleter().wasMoveInitilized == true); + assert(uPtr.get_deleter().wasMoveInitialized == true); } // pointer-like ConstructiblePtr diff --git a/libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr.general.pass.cpp b/libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr.general.pass.cpp index a78e22f69abc..3186b6c75758 100644 --- a/libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr.general.pass.cpp +++ b/libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr.general.pass.cpp @@ -49,7 +49,7 @@ void test_get_int_p() { get_int_p(std::out_ptr(uPtr, std::move(del))); assert(*uPtr == 84); - assert(uPtr.get_deleter().wasMoveInitilized == true); + assert(uPtr.get_deleter().wasMoveInitialized == true); } // std::shared_ptr diff --git a/libcxx/test/std/utilities/smartptr/adapt/types.h b/libcxx/test/std/utilities/smartptr/adapt/types.h index 0da6007ba394..886bb88cbbeb 100644 --- a/libcxx/test/std/utilities/smartptr/adapt/types.h +++ b/libcxx/test/std/utilities/smartptr/adapt/types.h @@ -21,12 +21,12 @@ struct MoveOnlyDeleter { MoveOnlyDeleter() = default; MoveOnlyDeleter(const MoveOnlyDeleter&) = delete; MoveOnlyDeleter& operator=(const MoveOnlyDeleter&) = delete; - MoveOnlyDeleter(MoveOnlyDeleter&&) : wasMoveInitilized{true} {} + MoveOnlyDeleter(MoveOnlyDeleter&&) : wasMoveInitialized{true} {} MoveOnlyDeleter& operator=(MoveOnlyDeleter&&) = default; void operator()(T* p) const { delete p; } - bool wasMoveInitilized = false; + bool wasMoveInitialized = false; }; // Custom pointer types. diff --git a/libcxx/test/std/utilities/template.bitset/bitset.cons/char_ptr_ctor.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.cons/char_ptr_ctor.pass.cpp index 4f9cdaeb38c0..ca7df36737bf 100644 --- a/libcxx/test/std/utilities/template.bitset/bitset.cons/char_ptr_ctor.pass.cpp +++ b/libcxx/test/std/utilities/template.bitset/bitset.cons/char_ptr_ctor.pass.cpp @@ -73,7 +73,7 @@ TEST_CONSTEXPR_CXX23 void test_char_pointer_ctor() assert(v[i] == false); } // Verify that this constructor doesn't read over the given bound. - // See https://github.com/llvm/llvm-project/issues/143684 + // See https://llvm.org/PR143684 { const char not_null_terminated[] = {'1', '0', '1', '0', '1', '0', '1', '0', '1', '0'}; std::bitset<N> v(not_null_terminated, 10); diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp index bb7e10afc62e..d1bf5b2c5d99 100644 --- a/libcxx/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp +++ b/libcxx/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp @@ -8,8 +8,6 @@ // constexpr bool operator[](size_t pos) const; // constexpr since C++23 -// XFAIL: FROZEN-CXX03-HEADERS-FIXME - #include <bitset> #include <cassert> #include <cstddef> diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp index 582eb31647ae..15a379de4a14 100644 --- a/libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp +++ b/libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp @@ -11,10 +11,8 @@ // This test ensures that we don't use a non-uglified name 'base', 'iterator', // 'const_iterator', and `const_reference` in the implementation of bitset. // -// See https://github.com/llvm/llvm-project/issues/111125. -// See https://github.com/llvm/llvm-project/issues/121618. - -// XFAIL: FROZEN-CXX03-HEADERS-FIXME +// See https://llvm.org/PR111125. +// See https://llvm.org/PR121618. #include <cstddef> #include <bitset> diff --git a/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp b/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp index 4b5adb7141a8..6e7e4312b5da 100644 --- a/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp +++ b/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp @@ -31,7 +31,7 @@ template<typename ...Ts> void forward_as_tuple(Ts...) = delete; } -// https://github.com/llvm/llvm-project/issues/41034 +// https://llvm.org/PR41689 struct Unconstrained { int data; template <typename Arg> @@ -312,7 +312,7 @@ int main(int, char**) assert(std::get<0>(t).i == 1); assert(std::get<0>(t2).i == 1); } - // See https://github.com/llvm/llvm-project/issues/41034 + // See https://llvm.org/PR41689 { test_tuple_cat_with_unconstrained_constructor(); #if TEST_STD_VER >= 14 diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.class.general/equality.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.class.general/equality.pass.cpp index 6ce851524158..410b0e04a51c 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.class.general/equality.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.class.general/equality.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/assign.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/assign.pass.cpp index faa832815f7e..8268e2c5d640 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/assign.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/assign.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/copy.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/copy.pass.cpp index ed7e4299b50a..a862653b9b08 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/copy.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/copy.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/default.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/default.pass.cpp index e4000a1c15e1..6321fe3bb8c1 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/default.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/default.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/memory_resource_convert.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/memory_resource_convert.pass.cpp index 886d9dd39a1c..29da3630aa57 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/memory_resource_convert.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/memory_resource_convert.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/other_alloc.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/other_alloc.pass.cpp index 5c36f5a993ae..ef9962c47254 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/other_alloc.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/other_alloc.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.eq/equal.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.eq/equal.pass.cpp index a77ed6fbdaec..43f03d15001e 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.eq/equal.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.eq/equal.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.eq/not_equal.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.eq/not_equal.pass.cpp index 78e6b70a1aad..5e0b36613053 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.eq/not_equal.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.eq/not_equal.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/allocate.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/allocate.pass.cpp index b050c8e335f1..31b1606f4ce8 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/allocate.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/allocate.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/allocate_deallocate_bytes.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/allocate_deallocate_bytes.pass.cpp index cc7882460f01..527ba13f6c7f 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/allocate_deallocate_bytes.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/allocate_deallocate_bytes.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14, c++17 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/allocate_deallocate_object.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/allocate_deallocate_object.pass.cpp index e9da1ace7942..cda3ae6b2f84 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/allocate_deallocate_object.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/allocate_deallocate_object.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14, c++17 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair.pass.cpp index da978151a411..f296a4b0f7b1 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair_const_lvalue_pair.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair_const_lvalue_pair.pass.cpp index 4cb0151ea923..7bc80b430597 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair_const_lvalue_pair.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair_const_lvalue_pair.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair_rvalue.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair_rvalue.pass.cpp index bb589b525f7f..f1b2b6c07555 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair_rvalue.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair_rvalue.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair_values.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair_values.pass.cpp index f84fac9b5a46..b5e74a225798 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair_values.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair_values.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_piecewise_pair.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_piecewise_pair.pass.cpp index 4f23dfa9e7f6..cdc5398e7d1a 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_piecewise_pair.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_piecewise_pair.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_piecewise_pair_evil.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_piecewise_pair_evil.pass.cpp index 701381fde5ad..b77734c28e12 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_piecewise_pair_evil.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_piecewise_pair_evil.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_types.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_types.pass.cpp index 38b004dc4eb6..a546fcfbe1fc 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_types.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_types.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/deallocate.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/deallocate.pass.cpp index 67a6aa18a35c..a980a5d29730 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/deallocate.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/deallocate.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/destroy.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/destroy.pass.cpp index 5bf50f889540..c8b18665346e 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/destroy.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/destroy.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/new_delete_object.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/new_delete_object.pass.cpp index b3a79eb2b404..9e46128cd714 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/new_delete_object.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/new_delete_object.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14, c++17 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/resource.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/resource.pass.cpp index 22cb72414e97..652a930e5f1d 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/resource.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/resource.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/select_on_container_copy_construction.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/select_on_container_copy_construction.pass.cpp index ccac1178fe51..5666d698c630 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/select_on_container_copy_construction.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/select_on_container_copy_construction.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_deque_synop.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_deque_synop.pass.cpp index af3b62185621..e5cf9e928153 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_deque_synop.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_deque_synop.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <deque> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_deque_synop2.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_deque_synop2.pass.cpp index 80e958d43a73..c7a30520f09b 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_deque_synop2.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_deque_synop2.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <deque> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_forward_list_synop.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_forward_list_synop.pass.cpp index 8c1372eb497f..ca16f08c79c6 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_forward_list_synop.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_forward_list_synop.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <forward_list> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_list_synop.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_list_synop.pass.cpp index a56c69055cc0..b518521bc4a2 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_list_synop.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_list_synop.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <list> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_list_synop2.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_list_synop2.pass.cpp index 8a59e9c1ee76..39936aa9490a 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_list_synop2.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_list_synop2.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <list> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_map_synop.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_map_synop.pass.cpp index 6b80432f65cd..6058835d9afe 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_map_synop.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_map_synop.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <map> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_map_synop2.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_map_synop2.pass.cpp index 5229805ee931..d127f0f71bb9 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_map_synop2.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_map_synop2.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <map> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_regex_synop.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_regex_synop.pass.cpp index a86db6b1e3fd..8df303d30c58 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_regex_synop.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_regex_synop.pass.cpp @@ -8,7 +8,7 @@ // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-localization -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <regex> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_set_synop.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_set_synop.pass.cpp index 99ded7c35b7a..60ad57e3ca5b 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_set_synop.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_set_synop.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <set> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_set_synop2.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_set_synop2.pass.cpp index ce97e178e9bb..ad8b63760663 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_set_synop2.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_set_synop2.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <set> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_string_synop.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_string_synop.pass.cpp index 751994f91ab8..0a2a94121d08 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_string_synop.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_string_synop.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <string> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_string_synop2.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_string_synop2.pass.cpp index d27ca9ea7ab9..c86130df5032 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_string_synop2.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_string_synop2.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <string> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_map_synop.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_map_synop.pass.cpp index 957c5063c8e8..4244250a3673 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_map_synop.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_map_synop.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <unordered_map> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_map_synop2.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_map_synop2.pass.cpp index df9dd55de020..ccb3e1761967 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_map_synop2.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_map_synop2.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <unordered_map> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_set_synop.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_set_synop.pass.cpp index 273cffd8a647..228b8bfa5724 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_set_synop.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_set_synop.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <unordered_set> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_set_synop2.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_set_synop2.pass.cpp index 510297d72316..1d753087dca0 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_set_synop2.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_set_synop2.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <unordered_set> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_vector_synop.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_vector_synop.pass.cpp index 121e2bb73443..6b2476758c75 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_vector_synop.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_vector_synop.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <vector> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_vector_synop2.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_vector_synop2.pass.cpp index c6126c60dcb0..2f5a5574eb69 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_vector_synop2.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_vector_synop2.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <vector> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.global/default_resource.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.global/default_resource.pass.cpp index 26981871c670..9add5244707a 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.global/default_resource.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.global/default_resource.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.global/new_delete_resource.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.global/new_delete_resource.pass.cpp index 7b3107029d4d..b58024f494c8 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.global/new_delete_resource.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.global/new_delete_resource.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.global/null_memory_resource.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.global/null_memory_resource.pass.cpp index fc8a9e455a4b..2e3da871a9b6 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.global/null_memory_resource.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.global/null_memory_resource.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.ctor/copy_move.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.ctor/copy_move.pass.cpp index 8adf6ca9378b..87078d0817ff 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.ctor/copy_move.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.ctor/copy_move.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.ctor/with_default_resource.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.ctor/with_default_resource.pass.cpp index d45a0bcde8a6..cd9e902f52e8 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.ctor/with_default_resource.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.ctor/with_default_resource.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.ctor/without_buffer.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.ctor/without_buffer.pass.cpp index 1d681386987a..215b5b335587 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.ctor/without_buffer.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.ctor/without_buffer.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_deallocate.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_deallocate.pass.cpp index bf025999ea61..333b8fe795e0 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_deallocate.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_deallocate.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_exception_safety.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_exception_safety.pass.cpp index 90ee12186650..5390b8063814 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_exception_safety.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_exception_safety.pass.cpp @@ -8,7 +8,7 @@ // UNSUPPORTED: c++03, c++11, c++14 // UNSUPPORTED: no-exceptions -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_from_initial_buffer.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_from_initial_buffer.pass.cpp index 918c81033fa3..f1e2b9988d3b 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_from_initial_buffer.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_from_initial_buffer.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_from_zero_sized_buffer.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_from_zero_sized_buffer.pass.cpp index e0fb1c463aa2..874a7ee65c5c 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_from_zero_sized_buffer.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_from_zero_sized_buffer.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_in_geometric_progression.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_in_geometric_progression.pass.cpp index 7892b182297e..ead927d9fc6c 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_in_geometric_progression.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_in_geometric_progression.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_overaligned_request.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_overaligned_request.pass.cpp index ad967798747a..95c6b36b71f9 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_overaligned_request.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_overaligned_request.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_with_initial_size.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_with_initial_size.pass.cpp index 73a8a571179d..bd3dd86b2115 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_with_initial_size.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_with_initial_size.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/equality.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/equality.pass.cpp index 0637a43a6b99..d79a89333d1e 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/equality.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/equality.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.ctor/ctor_does_not_allocate.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.ctor/ctor_does_not_allocate.pass.cpp index 23fd311baecf..c971ac81e100 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.ctor/ctor_does_not_allocate.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.ctor/ctor_does_not_allocate.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.ctor/sync_with_default_resource.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.ctor/sync_with_default_resource.pass.cpp index caca759d2ed9..1c2f20b6f3c3 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.ctor/sync_with_default_resource.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.ctor/sync_with_default_resource.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.ctor/unsync_with_default_resource.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.ctor/unsync_with_default_resource.pass.cpp index 4d23a05e5fea..b6499125b784 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.ctor/unsync_with_default_resource.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.ctor/unsync_with_default_resource.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/equality.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/equality.pass.cpp index b3988572d891..88e3fa7f855c 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/equality.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/equality.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate.pass.cpp index 9f5edf28c612..2543be0fba28 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate_overaligned_request.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate_overaligned_request.pass.cpp index f3e1e4c026ef..ce39a4fc6a0e 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate_overaligned_request.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate_overaligned_request.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate_reuse_blocks.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate_reuse_blocks.pass.cpp index 9327ef3859a7..a21c8aba314a 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate_reuse_blocks.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate_reuse_blocks.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_deallocate_matches_allocate.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_deallocate_matches_allocate.pass.cpp index f55ab1d1aa5c..6656bbc48dd1 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_deallocate_matches_allocate.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_deallocate_matches_allocate.pass.cpp @@ -8,7 +8,7 @@ // UNSUPPORTED: no-exceptions // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate.pass.cpp index 838658d5536b..3f281205f3a3 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate_overaligned_request.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate_overaligned_request.pass.cpp index 5153a54ef3f1..82f75fb44344 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate_overaligned_request.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate_overaligned_request.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate_reuse_blocks.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate_reuse_blocks.pass.cpp index 582bc6edc4e0..be0967354223 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate_reuse_blocks.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate_reuse_blocks.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_deallocate_matches_allocate.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_deallocate_matches_allocate.pass.cpp index a0e86f82e9b2..dacfa950bd1f 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_deallocate_matches_allocate.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_deallocate_matches_allocate.pass.cpp @@ -8,7 +8,7 @@ // UNSUPPORTED: no-exceptions // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res/construct.verify.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res/construct.verify.cpp index 8889f8d56fb1..00437bd52f7f 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res/construct.verify.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res/construct.verify.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.eq/equal.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.eq/equal.pass.cpp index 4fa05c656942..e40d05c7fd03 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.eq/equal.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.eq/equal.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.eq/not_equal.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.eq/not_equal.pass.cpp index 4a10c759afa1..d2540b1a449d 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.eq/not_equal.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.eq/not_equal.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.private/private_members.verify.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.private/private_members.verify.cpp index 205476cb8bdd..bf21467a7b8c 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.private/private_members.verify.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.private/private_members.verify.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.private/protected_members.verify.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.private/protected_members.verify.cpp index 1a503a918d4e..e19d7e93ca35 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.private/protected_members.verify.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.private/protected_members.verify.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // <memory_resource> diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/allocate.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/allocate.pass.cpp index 9c8f9fb9c9a7..7d8b61050dc5 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/allocate.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/allocate.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/deallocate.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/deallocate.pass.cpp index e24f90a298b6..a4f5d617dccd 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/deallocate.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/deallocate.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/dtor.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/dtor.pass.cpp index 35ea2e4e8722..d4325d16e7cd 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/dtor.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/dtor.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/is_equal.pass.cpp b/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/is_equal.pass.cpp index 5bebb7f028a2..d6ee0b663aaa 100644 --- a/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/is_equal.pass.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/mem.res/mem.res.public/is_equal.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // test_memory_resource requires RTTI for dynamic_cast diff --git a/libcxx/test/std/utilities/utility/mem.res/nodiscard.verify.cpp b/libcxx/test/std/utilities/utility/mem.res/nodiscard.verify.cpp index f10616694a54..068218fe1920 100644 --- a/libcxx/test/std/utilities/utility/mem.res/nodiscard.verify.cpp +++ b/libcxx/test/std/utilities/utility/mem.res/nodiscard.verify.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14, c++17 -// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed +// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed // UNSUPPORTED: availability-pmr-missing // check that functions are marked [[nodiscard]] diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_like.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_like.pass.cpp index 3ff416ed5737..135045d831d9 100644 --- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_like.pass.cpp +++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_like.pass.cpp @@ -45,7 +45,7 @@ struct std::tuple_element<N, my_ns::MyPairLike> { using type = int; }; -// https://github.com/llvm/llvm-project/issues/65620 +// https://llvm.org/PR65620 // This used to be a hard error static_assert(!std::is_constructible_v<std::pair<int,int>, my_ns::MyPairLike const&>); diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/pair.incomplete.compile.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/pair.incomplete.compile.pass.cpp index 16ee000cd90f..2c670d7432ac 100644 --- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/pair.incomplete.compile.pass.cpp +++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/pair.incomplete.compile.pass.cpp @@ -9,7 +9,7 @@ // Check that instantiating pair doesn't look up type traits "too early", before // the contained types have been completed. // -// This is a regression test, to prevent a reoccurrance of the issue introduced +// This is a regression test, to prevent a reoccurrence of the issue introduced // in 5e1de27f680591a870d78e9952b23f76aed7f456. #include <utility> diff --git a/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp b/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp index 6111138726db..6b500a8c5ecf 100644 --- a/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp +++ b/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp @@ -186,7 +186,7 @@ int main(int, char**) { test_construction_with_repeated_types(); test_vector_bool(); - { // Check that the constraints are evaluated lazily (see https://github.com/llvm/llvm-project/issues/151328) + { // Check that the constraints are evaluated lazily (see llvm.org/PR151328) struct Matcher { Matcher() {} Matcher(std::variant<ConvertibleFromAny>) {} diff --git a/libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp b/libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp index 8093af0aba58..90320ae518c3 100644 --- a/libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp +++ b/libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp @@ -208,7 +208,7 @@ void test_exceptions() { #endif } -// See https://bugs.llvm.org/show_bug.cgi?id=31916 +// See https://llvm.org/PR31916 template <typename ReturnType> void test_caller_accepts_nonconst() { struct A {}; diff --git a/libcxx/test/std/utilities/variant/variant.visit/visit_return_type.pass.cpp b/libcxx/test/std/utilities/variant/variant.visit/visit_return_type.pass.cpp index d26c785c0374..e47911f97210 100644 --- a/libcxx/test/std/utilities/variant/variant.visit/visit_return_type.pass.cpp +++ b/libcxx/test/std/utilities/variant/variant.visit/visit_return_type.pass.cpp @@ -349,7 +349,7 @@ void test_exceptions() { #endif } -// See https://bugs.llvm.org/show_bug.cgi?id=31916 +// See https://llvm.org/PR31916 template <typename ReturnType> void test_caller_accepts_nonconst() { struct A {}; |
