[libcxx-commits] [libcxx] 2b416b4 - [libcxx][CI][AIX] Switch to LLVM_ENABLE_RUNTIMES

David Tenty via libcxx-commits libcxx-commits at lists.llvm.org
Tue Nov 9 13:04:16 PST 2021


Author: David Tenty
Date: 2021-11-09T16:04:10-05:00
New Revision: 2b416b46479d2dbe749e90d7c5344f05b4e35abc

URL: https://github.com/llvm/llvm-project/commit/2b416b46479d2dbe749e90d7c5344f05b4e35abc
DIFF: https://github.com/llvm/llvm-project/commit/2b416b46479d2dbe749e90d7c5344f05b4e35abc.diff

LOG: [libcxx][CI][AIX] Switch to LLVM_ENABLE_RUNTIMES

and to the new `runtimes` top level CMakeLists.txt since the old path is now deprecated. This requires a slight adjustment of the libcxxabi CMake, since there are required macro definitions we previously got via the `llvm/CMakeList.txt` path.

Reviewed By: ldionne, #libc, #libc_abi

Differential Revision: https://reviews.llvm.org/D113403

Added: 
    

Modified: 
    libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp
    libcxx/utils/ci/run-buildbot
    libcxxabi/CMakeLists.txt

Removed: 
    


################################################################################
diff  --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp
index 1b22ff9e1da5f..65e99e015af95 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp
@@ -7,7 +7,6 @@
 //===----------------------------------------------------------------------===//
 //
 // UNSUPPORTED: libcpp-has-no-threads
-// XFAIL: LIBCXX-AIX-FIXME
 
 // <thread>
 

diff  --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot
index 744d0fd8ba851..f40e3a572f48d 100755
--- a/libcxx/utils/ci/run-buildbot
+++ b/libcxx/utils/ci/run-buildbot
@@ -113,13 +113,6 @@ function generate-cmake-libcxx-win() {
           "${@}"
 }
 
-function generate-cmake-aix() {
-    generate-cmake-base \
-          -S "${MONOREPO_ROOT}/llvm" \
-          -DLLVM_ENABLE_PROJECTS="libcxx;libcxxabi" \
-          "${@}"
-}
-
 function check-runtimes() {
     echo "--- Installing libc++, libc++abi and libunwind to a fake location"
     ${NINJA} -vC "${BUILD_DIR}" install-cxx install-cxxabi install-unwind
@@ -623,9 +616,10 @@ aix)
     export CC=ibm-clang
     export CXX=ibm-clang++_r
     clean
-    generate-cmake-aix -C "${MONOREPO_ROOT}/libcxx/cmake/caches/AIX.cmake" \
+    generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/AIX.cmake" \
                    -DLIBCXX_TEST_CONFIG="ibm-libc++-shared.cfg.in" \
-                   -DLIBCXXABI_TEST_CONFIG="ibm-libc++abi-shared.cfg.in"
+                   -DLIBCXXABI_TEST_CONFIG="ibm-libc++abi-shared.cfg.in" \
+                   -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi"
     # TODO: use check-runtimes once libunwind builds cleanly on AIX.
     ${NINJA} -vC "${BUILD_DIR}" install-cxx install-cxxabi
     ${NINJA} -vC "${BUILD_DIR}" check-cxx check-cxxabi

diff  --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt
index 027dafd03fa1e..79862b4a04933 100644
--- a/libcxxabi/CMakeLists.txt
+++ b/libcxxabi/CMakeLists.txt
@@ -519,6 +519,12 @@ string(REPLACE ";" " " LIBCXXABI_CXX_FLAGS "${LIBCXXABI_CXX_FLAGS}")
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LIBCXXABI_CXX_FLAGS}")
 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBCXXABI_C_FLAGS}")
 
+# On AIX, avoid picking up VMX extensions(i.e. vec_malloc) which would change
+# the default alignment of the allocators here.
+if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHES "AIX")
+  add_definitions("-D_XOPEN_SOURCE=700")
+endif()
+
 #===============================================================================
 # Setup Source Code
 #===============================================================================


        


More information about the libcxx-commits mailing list