diff --git a/libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/stable_partition.pass.cpp b/libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/stable_partition.pass.cpp index ed55a41e83938..7e8100b7949e7 100644 --- a/libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/stable_partition.pass.cpp +++ b/libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/stable_partition.pass.cpp @@ -289,7 +289,7 @@ TEST_CONSTEXPR_CXX26 void test() { vec[5] = 6; getGlobalMemCounter()->throw_after = 0; std::stable_partition( - forward_iterator(vec.data()), forward_iterator(vec.data() + vec.size()), [](int i) { + bidirectional_iterator(vec.data()), bidirectional_iterator(vec.data() + vec.size()), [](int i) { return i < 5; }); assert(std::is_partitioned(vec.begin(), vec.end(), [](int i) { return i < 5; })); diff --git a/libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp b/libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp index 448abdddbb4cb..e3d6b67cd316d 100644 --- a/libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp +++ b/libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp @@ -439,7 +439,7 @@ TEST_CONSTEXPR_CXX20 bool test() { types::for_each(types::forward_iterator_list(), TestIter()); #if TEST_STD_VER >= 11 - if (TEST_STD_VER >= 23 || !TEST_IS_CONSTANT_EVALUATED) + if (TEST_STD_AT_LEAST_23_OR_RUNTIME_EVALUATED) types::for_each(types::forward_iterator_list*>(), TestUniquePtr()); #endif diff --git a/libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp b/libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp index 889794dff9fab..01cd33150e236 100644 --- a/libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp +++ b/libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp @@ -144,7 +144,7 @@ TEST_CONSTEXPR_CXX20 bool test() { #if TEST_STD_VER >= 11 // We can't test unique_ptr in constant evaluation before C++23 as it's constexpr only since C++23. - if (TEST_STD_VER >= 23 || !TEST_IS_CONSTANT_EVALUATED) + if (TEST_STD_AT_LEAST_23_OR_RUNTIME_EVALUATED) types::for_each(types::forward_iterator_list*>(), TestUniquePtr()); #endif diff --git a/libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp b/libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp index 03824df2be2fe..45f79df1636f6 100644 --- a/libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp +++ b/libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp @@ -161,11 +161,9 @@ TEST_CONSTEXPR_CXX26 bool test() { std::sort(ia, ia + M, indirect_less()); std::sort(ia + M, ia + N, indirect_less()); std::inplace_merge(ia, ia + M, ia + N, indirect_less()); - if (N > 0) { - assert(*ia[0] == 0); - assert(*ia[N - 1] == N - 1); - assert(std::is_sorted(ia, ia + N, indirect_less())); - } + assert(*ia[0] == 0); + assert(*ia[N - 1] == N - 1); + assert(std::is_sorted(ia, ia + N, indirect_less())); delete[] ia; } #endif // TEST_STD_VER >= 11 diff --git a/libcxx/test/std/containers/sequences/array/assert.iterators.pass.cpp b/libcxx/test/std/containers/sequences/array/assert.iterators.pass.cpp index 21a763e71e18a..85e2df1eba981 100644 --- a/libcxx/test/std/containers/sequences/array/assert.iterators.pass.cpp +++ b/libcxx/test/std/containers/sequences/array/assert.iterators.pass.cpp @@ -6,7 +6,8 @@ // //===----------------------------------------------------------------------===// -// REQUIRES: has-unix-headers, libcpp-has-abi-bounded-iterators-in-std-array +// REQUIRES: has-unix-headers +// REQUIRES: libcpp-has-abi-bounded-iterators-in-std-array // UNSUPPORTED: c++03 // UNSUPPORTED: libcpp-hardening-mode=none // XFAIL: libcpp-hardening-mode=debug && availability-verbose_abort-missing diff --git a/libcxx/test/std/containers/sequences/vector.bool/max_size.pass.cpp b/libcxx/test/std/containers/sequences/vector.bool/max_size.pass.cpp index 86a163e0381ae..5ea67b56b9496 100644 --- a/libcxx/test/std/containers/sequences/vector.bool/max_size.pass.cpp +++ b/libcxx/test/std/containers/sequences/vector.bool/max_size.pass.cpp @@ -71,7 +71,7 @@ TEST_CONSTEXPR_CXX20 bool tests() { // Test with various allocators and different `size_type`s { test(std::vector()); - test(std::vector >()); + test(std::vector >()); test(std::vector >()); test(std::vector >(test_allocator(1))); test(std::vector >(other_allocator(5))); diff --git a/libcxx/test/std/containers/sequences/vector/vector.modifiers/assert.push_back.invalidation.pass.cpp b/libcxx/test/std/containers/sequences/vector/vector.modifiers/assert.push_back.invalidation.pass.cpp index 193c00891da7f..4a899139d5f68 100644 --- a/libcxx/test/std/containers/sequences/vector/vector.modifiers/assert.push_back.invalidation.pass.cpp +++ b/libcxx/test/std/containers/sequences/vector/vector.modifiers/assert.push_back.invalidation.pass.cpp @@ -14,7 +14,8 @@ // the insertion point remain valid but those at or after the insertion point, // including the past-the-end iterator, are invalidated. -// REQUIRES: has-unix-headers, libcpp-has-abi-bounded-iterators-in-vector +// REQUIRES: has-unix-headers +// REQUIRES: libcpp-has-abi-bounded-iterators-in-vector // UNSUPPORTED: c++03 // UNSUPPORTED: libcpp-hardening-mode=none // XFAIL: libcpp-hardening-mode=debug && availability-verbose_abort-missing diff --git a/libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/offset_range.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/offset_range.pass.cpp index c6e07d045e145..9fc3cb4a94478 100644 --- a/libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/offset_range.pass.cpp +++ b/libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/offset_range.pass.cpp @@ -46,7 +46,7 @@ void test_tellg(std::streamoff total_size) { ofs.open(p, std::ios::out | std::ios::binary); assert(ofs.is_open()); for (std::streamoff size = 0; size < total_size;) { - std::size_t n = std::min(static_cast(data.size()), total_size - size); + std::streamoff n = std::min(static_cast(data.size()), total_size - size); ofs.write(data.data(), n); size += n; } diff --git a/libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp b/libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp index 5561a1a8b3334..283a8fddb8e8f 100644 --- a/libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp @@ -10,7 +10,8 @@ // UNSUPPORTED: no-filesystem // UNSUPPORTED: GCC-ALWAYS_INLINE-FIXME -// XFAIL: msvc, target={{.+}}-windows-gnu +// XFAIL: msvc +// XFAIL: target={{.+}}-windows-gnu // XFAIL: availability-fp_to_chars-missing // fmemopen is available starting in Android M (API 23) diff --git a/libcxx/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp b/libcxx/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp index 456176a6444a9..067872a4d9a74 100644 --- a/libcxx/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp +++ b/libcxx/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp @@ -39,7 +39,7 @@ constexpr struct { {36, 18, 18}, {25, 30, 5}, {24, 16, 8}, - {128, 100, 4}}; + {124, 100, 4}}; template constexpr bool test0(int in1, int in2, int out) diff --git a/libcxx/test/std/time/time.clock/time.clock.utc/types.compile.pass.cpp b/libcxx/test/std/time/time.clock/time.clock.utc/types.compile.pass.cpp index 0322e9122e1cd..8cb3d78d97f52 100644 --- a/libcxx/test/std/time/time.clock/time.clock.utc/types.compile.pass.cpp +++ b/libcxx/test/std/time/time.clock/time.clock.utc/types.compile.pass.cpp @@ -36,11 +36,11 @@ #include "test_macros.h" // class utc_clock -using rep = std::chrono::utc_clock::rep; -using period = std::chrono::utc_clock::period; -using duration = std::chrono::utc_clock::duration; -using time_point = std::chrono::utc_clock::time_point; -constexpr bool is_steady = std::chrono::utc_clock::is_steady; +using rep = std::chrono::utc_clock::rep; +using period = std::chrono::utc_clock::period; +using duration = std::chrono::utc_clock::duration; +using time_point = std::chrono::utc_clock::time_point; +[[maybe_unused]] constexpr bool is_steady = std::chrono::utc_clock::is_steady; // Tests the values. Some of them are implementation-defined. LIBCPP_STATIC_ASSERT(std::same_as); diff --git a/libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp b/libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp index 3a6ed3856282f..6b77bdf3e699a 100644 --- a/libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp +++ b/libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp @@ -137,7 +137,7 @@ TEST_CONSTEXPR_CXX20 bool test() { static_assert(noexcept(std::swap(ma, ma)), ""); } - if (TEST_STD_VER >= 23 || !TEST_IS_CONSTANT_EVALUATED) + if (TEST_STD_AT_LEAST_23_OR_RUNTIME_EVALUATED) test_unique_ptr(); #endif diff --git a/libcxx/test/support/min_allocator.h b/libcxx/test/support/min_allocator.h index 0be7ee0554ca9..24505bbb508d6 100644 --- a/libcxx/test/support/min_allocator.h +++ b/libcxx/test/support/min_allocator.h @@ -481,7 +481,7 @@ struct tiny_size_allocator { template struct rebind { - using other = tiny_size_allocator; + using other = tiny_size_allocator; }; tiny_size_allocator() = default; diff --git a/libcxx/test/support/sized_allocator.h b/libcxx/test/support/sized_allocator.h index 8d52f5bf252c7..cbd4685ccf24d 100644 --- a/libcxx/test/support/sized_allocator.h +++ b/libcxx/test/support/sized_allocator.h @@ -37,10 +37,12 @@ class sized_allocator { TEST_CONSTEXPR_CXX20 T* allocate(size_type n) { if (n > max_size()) TEST_THROW(std::bad_array_new_length()); - return std::allocator().allocate(n); + return std::allocator().allocate(static_cast(n)); } - TEST_CONSTEXPR_CXX20 void deallocate(T* p, size_type n) TEST_NOEXCEPT { std::allocator().deallocate(p, n); } + TEST_CONSTEXPR_CXX20 void deallocate(T* p, size_type n) TEST_NOEXCEPT { + std::allocator().deallocate(p, static_cast(n)); + } TEST_CONSTEXPR size_type max_size() const TEST_NOEXCEPT { return std::numeric_limits::max() / sizeof(value_type);