[libcxx-commits] [PATCH] D119246: [libcxx][AIX][PowerPC] Disable workaround for PR31864 on powerpc

Kai Luo via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Feb 8 23:07:39 PST 2022


lkail added a comment.

Though https://buildkite.com/llvm-project/libcxx-ci/builds/8557 passed all tests, it looks not covering x86. I tried running buildbot locally with

  diff
  --- a/libcxx/cmake/caches/Generic-cxx17.cmake
  +++ b/libcxx/cmake/caches/Generic-cxx17.cmake
  @@ -1,2 +1,8 @@
   set(LIBCXX_TEST_PARAMS "std=c++17" CACHE STRING "")
   set(LIBCXXABI_TEST_PARAMS "${LIBCXX_TEST_PARAMS}" CACHE STRING "")
  +set(LIBCXX_TARGET_TRIPLE "i686-unknown-linux-gnu" CACHE STRING "")
  +set(LIBUNWIND_TARGET_TRIPLE "i686-unknown-linux-gnu" CACHE STRING "")
  +set(LIBCXXABI_TARGET_TRIPLE "i686-unknown-linux-gnu" CACHE STRING "")
  +set(CMAKE_C_FLAGS "-m32" CACHE STRING "")
  +set(CMAKE_CXX_FLAGS "-m32" CACHE STRING "")

It fails with

  $ "/opt/LLVM-12.0.1-Linux/bin/clang++" "/home/lkail/repos/llvm-project/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp" "--target=i686-unknown-linux-gnu" "-nostdinc++" "-isystem" "/home/lkail/repos/llvm-project/libcxx-ci/include/c++/v1" "-isystem" "/home/lkail/repos/llvm-project/libcxx-ci/include/c++/v1" "-I" "/home/lkail/repos/llvm-project/libcxx/test/support" "-std=c++17" "-Werror" "-Wall" "-Wextra" "-Wshadow" "-Wundef" "-Wno-unused-command-line-argument" "-Wno-attributes" "-Wno-pessimizing-move" "-Wno-c++11-extensions" "-Wno-user-defined-literals" "-Wno-noexcept-type" "-Wno-atomic-alignment" "-Wsign-compare" "-Wunused-variable" "-Wunused-parameter" "-Wunreachable-code" "-Wno-unused-local-typedef" "-D_LIBCPP_DISABLE_AVAILABILITY" "-fcoroutines-ts" "-Werror=thread-safety" "-Wuser-defined-warnings" "-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER" "-Wno-macro-redefined" "-D_LIBCPP_HAS_THREAD_API_PTHREAD" "-Wno-macro-redefined" "-D_LIBCPP_ABI_VERSION=1" "-lc++experimental" "-nostdlib++" "-L" "/home/lkail/repos/llvm-project/libcxx-ci/lib" "-Wl,-rpath,/home/lkail/repos/llvm-project/libcxx-ci/lib" "-lc++" "-pthread" "-o" "/home/lkail/repos/llvm-project/libcxx-ci/std/atomics/atomics.lockfree/Output/isalwayslockfree.pass.cpp.dir/t.tmp.exe"
  # command stderr:
  /home/lkail/repos/llvm-project/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp:30:3: error: static_assert failed due to requirement 'std::atomic<long long>::is_always_lock_free == (2 == 1)' ""
    static_assert(std::atomic<long long>::is_always_lock_free == (2 == ATOMIC_LLONG_LOCK_FREE), "");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /home/lkail/repos/llvm-project/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp:31:3: error: static_assert failed due to requirement 'std::atomic<unsigned long long>::is_always_lock_free == (2 == 1)' ""
    static_assert(std::atomic<unsigned long long>::is_always_lock_free == (2 == ATOMIC_LLONG_LOCK_FREE), "");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2 errors generated.
  
  error: command failed with exit status: 1

There are 32-bit platforms in libcxx-ci, armv7 and armv8, but I'm not an expert of ARM CPUs, I guess these ARM cores should support 8-bytes lock-free atomics on 32-bit platforms.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D119246/new/

https://reviews.llvm.org/D119246



More information about the libcxx-commits mailing list