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 --- 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 // diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot --- a/libcxx/utils/ci/run-buildbot +++ b/libcxx/utils/ci/run-buildbot @@ -113,13 +113,6 @@ "${@}" } -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 @@ 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 --- a/libcxxabi/CMakeLists.txt +++ b/libcxxabi/CMakeLists.txt @@ -519,6 +519,12 @@ 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 #===============================================================================