llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-libcxx Author: None (llvmbot) <details> <summary>Changes</summary> Backport b45661953e6974782b0ccada6f0784db04bc693f Requested by: @<!-- -->ldionne --- Full diff: https://github.com/llvm/llvm-project/pull/110838.diff 1 Files Affected: - (renamed) libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.pass.cpp (+10-3) ``````````diff diff --git a/libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.cpp b/libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.pass.cpp similarity index 94% rename from libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.cpp rename to libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.pass.cpp index 2dc7f5c7654193..723e7b36f50319 100644 --- a/libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.cpp +++ b/libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.pass.cpp @@ -5,8 +5,9 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// -// + // UNSUPPORTED: c++03, c++11, c++14 +// XFAIL: LIBCXX-PICOLIBC-FIXME // <atomic> // @@ -15,6 +16,10 @@ // // static constexpr bool is_always_lock_free; +// Ignore diagnostic about vector types changing the ABI on some targets, since +// that is irrelevant for this test. +// ADDITIONAL_COMPILE_FLAGS: -Wno-psabi + #include <atomic> #include <cassert> #include <cstddef> @@ -26,7 +31,8 @@ template <typename T> void check_always_lock_free(std::atomic<T> const& a) { using InfoT = LockFreeStatusInfo<T>; - constexpr std::same_as<const bool> decltype(auto) is_always_lock_free = std::atomic<T>::is_always_lock_free; + constexpr auto is_always_lock_free = std::atomic<T>::is_always_lock_free; + ASSERT_SAME_TYPE(decltype(is_always_lock_free), bool const); // If we know the status of T for sure, validate the exact result of the function. if constexpr (InfoT::status_known) { @@ -44,7 +50,8 @@ void check_always_lock_free(std::atomic<T> const& a) { // In all cases, also sanity-check it based on the implication always-lock-free => lock-free. if (is_always_lock_free) { - std::same_as<bool> decltype(auto) is_lock_free = a.is_lock_free(); + auto is_lock_free = a.is_lock_free(); + ASSERT_SAME_TYPE(decltype(is_always_lock_free), bool const); assert(is_lock_free); } ASSERT_NOEXCEPT(a.is_lock_free()); `````````` </details> https://github.com/llvm/llvm-project/pull/110838 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits