aboutsummaryrefslogtreecommitdiff
path: root/libcxx
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx')
-rw-r--r--libcxx/docs/Status/Cxx17Papers.csv2
-rw-r--r--libcxx/include/__functional/hash.h9
-rw-r--r--libcxx/include/__numeric/saturation_arithmetic.h10
-rw-r--r--libcxx/test/libcxx/numerics/nodiscard.verify.cpp35
-rw-r--r--libcxx/test/std/numerics/bit/bitops.rot/nodiscard.verify.cpp18
-rw-r--r--libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp18
-rw-r--r--libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_unique_ptr.pass.cpp2
-rw-r--r--libcxx/test/support/poisoned_hash_helper.h10
-rwxr-xr-xlibcxx/utils/ci/run-buildbot95
9 files changed, 87 insertions, 112 deletions
diff --git a/libcxx/docs/Status/Cxx17Papers.csv b/libcxx/docs/Status/Cxx17Papers.csv
index 1a9d3b0..6bb2982 100644
--- a/libcxx/docs/Status/Cxx17Papers.csv
+++ b/libcxx/docs/Status/Cxx17Papers.csv
@@ -84,7 +84,7 @@
"`P0508R0 <https://wg21.link/P0508R0>`__","Wording for GB 58 - structured bindings for node_handles","2016-11 (Issaquah)","|Complete|","7","`#99944 <https://github.com/llvm/llvm-project/issues/99944>`__",""
"`P0509R1 <https://wg21.link/P0509R1>`__","Updating ""Restrictions on exception handling""","2016-11 (Issaquah)","|Nothing To Do|","n/a","`#103676 <https://github.com/llvm/llvm-project/issues/103676>`__",""
"`P0510R0 <https://wg21.link/P0510R0>`__","Disallowing references, incomplete types, arrays, and empty variants","2016-11 (Issaquah)","|Complete|","4","`#103677 <https://github.com/llvm/llvm-project/issues/103677>`__",""
-"`P0513R0 <https://wg21.link/P0513R0>`__","Poisoning the Hash","2016-11 (Issaquah)","|Complete|","5","`#103678 <https://github.com/llvm/llvm-project/issues/103678>`__",""
+"`P0513R0 <https://wg21.link/P0513R0>`__","Poisoning the Hash","2016-11 (Issaquah)","|Complete|","5","`#103678 <https://github.com/llvm/llvm-project/issues/103678>`__","Implemented as a DR against C++11 since LLVM 22. MSVC STL does the same."
"`P0516R0 <https://wg21.link/P0516R0>`__","Clarify That shared_future's Copy Operations have Wide Contracts","2016-11 (Issaquah)","|Complete|","4","`#103679 <https://github.com/llvm/llvm-project/issues/103679>`__",""
"`P0517R0 <https://wg21.link/P0517R0>`__","Make future_error Constructible","2016-11 (Issaquah)","|Complete|","4","`#103680 <https://github.com/llvm/llvm-project/issues/103680>`__",""
"`P0521R0 <https://wg21.link/P0521R0>`__","Proposed Resolution for CA 14 (shared_ptr use_count/unique)","2016-11 (Issaquah)","|Complete|","18","`#103681 <https://github.com/llvm/llvm-project/issues/103681>`__",""
diff --git a/libcxx/include/__functional/hash.h b/libcxx/include/__functional/hash.h
index 83bbf1b..f74f25f 100644
--- a/libcxx/include/__functional/hash.h
+++ b/libcxx/include/__functional/hash.h
@@ -433,13 +433,10 @@ struct __hash_impl<long double> : __scalar_hash<long double> {
template <class _Tp>
struct hash : public __hash_impl<_Tp> {};
-#if _LIBCPP_STD_VER >= 17
-
template <>
struct hash<nullptr_t> : public __unary_function<nullptr_t, size_t> {
_LIBCPP_HIDE_FROM_ABI size_t operator()(nullptr_t) const _NOEXCEPT { return 662607004ull; }
};
-#endif
#ifndef _LIBCPP_CXX03_LANG
template <class _Key, class _Hash>
@@ -452,18 +449,12 @@ template <class _Key, class _Hash = hash<_Key> >
using __has_enabled_hash _LIBCPP_NODEBUG =
integral_constant<bool, __check_hash_requirements<_Key, _Hash>::value && is_default_constructible<_Hash>::value >;
-# if _LIBCPP_STD_VER >= 17
template <class _Type, class>
using __enable_hash_helper_imp _LIBCPP_NODEBUG = _Type;
template <class _Type, class... _Keys>
using __enable_hash_helper _LIBCPP_NODEBUG =
__enable_hash_helper_imp<_Type, __enable_if_t<__all<__has_enabled_hash<_Keys>::value...>::value> >;
-# else
-template <class _Type, class...>
-using __enable_hash_helper _LIBCPP_NODEBUG = _Type;
-# endif
-
#endif // !_LIBCPP_CXX03_LANG
_LIBCPP_END_NAMESPACE_STD
diff --git a/libcxx/include/__numeric/saturation_arithmetic.h b/libcxx/include/__numeric/saturation_arithmetic.h
index 7a7410b..4491bab 100644
--- a/libcxx/include/__numeric/saturation_arithmetic.h
+++ b/libcxx/include/__numeric/saturation_arithmetic.h
@@ -121,27 +121,27 @@ _LIBCPP_HIDE_FROM_ABI constexpr _Rp __saturate_cast(_Tp __x) noexcept {
#if _LIBCPP_STD_VER >= 26
template <__signed_or_unsigned_integer _Tp>
-_LIBCPP_HIDE_FROM_ABI constexpr _Tp add_sat(_Tp __x, _Tp __y) noexcept {
+[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _Tp add_sat(_Tp __x, _Tp __y) noexcept {
return std::__add_sat(__x, __y);
}
template <__signed_or_unsigned_integer _Tp>
-_LIBCPP_HIDE_FROM_ABI constexpr _Tp sub_sat(_Tp __x, _Tp __y) noexcept {
+[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _Tp sub_sat(_Tp __x, _Tp __y) noexcept {
return std::__sub_sat(__x, __y);
}
template <__signed_or_unsigned_integer _Tp>
-_LIBCPP_HIDE_FROM_ABI constexpr _Tp mul_sat(_Tp __x, _Tp __y) noexcept {
+[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _Tp mul_sat(_Tp __x, _Tp __y) noexcept {
return std::__mul_sat(__x, __y);
}
template <__signed_or_unsigned_integer _Tp>
-_LIBCPP_HIDE_FROM_ABI constexpr _Tp div_sat(_Tp __x, _Tp __y) noexcept {
+[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _Tp div_sat(_Tp __x, _Tp __y) noexcept {
return std::__div_sat(__x, __y);
}
template <__signed_or_unsigned_integer _Rp, __signed_or_unsigned_integer _Tp>
-_LIBCPP_HIDE_FROM_ABI constexpr _Rp saturate_cast(_Tp __x) noexcept {
+[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _Rp saturate_cast(_Tp __x) noexcept {
return std::__saturate_cast<_Rp>(__x);
}
diff --git a/libcxx/test/libcxx/numerics/nodiscard.verify.cpp b/libcxx/test/libcxx/numerics/nodiscard.verify.cpp
new file mode 100644
index 0000000..10da62f
--- /dev/null
+++ b/libcxx/test/libcxx/numerics/nodiscard.verify.cpp
@@ -0,0 +1,35 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+// REQUIRES: std-at-least-c++20
+
+// <numeric>
+
+// Check that functions are marked [[nodiscard]]
+
+#include <bit>
+#include <numeric>
+
+#include "test_macros.h"
+
+void test() {
+ // [bit.rotate]
+ std::rotl(0u, 0); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
+ std::rotr(0u, 0); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
+
+ // clang-format off
+#if TEST_STD_VER >= 26
+ // [numeric.sat]
+ std::add_sat(94, 82); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
+ std::sub_sat(94, 82); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
+ std::mul_sat(94, 82); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
+ std::div_sat(94, 82); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
+ std::saturate_cast<signed int>(49); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
+#endif // TEST_STD_VER >= 26
+ // clang-format on
+}
diff --git a/libcxx/test/std/numerics/bit/bitops.rot/nodiscard.verify.cpp b/libcxx/test/std/numerics/bit/bitops.rot/nodiscard.verify.cpp
deleted file mode 100644
index 885534a..0000000
--- a/libcxx/test/std/numerics/bit/bitops.rot/nodiscard.verify.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++03, c++11, c++14, c++17
-
-// Check that std::rotl and std::rotr are marked [[nodiscard]]
-
-#include <bit>
-
-void func() {
- std::rotl(0u, 0); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
- std::rotr(0u, 0); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
-}
diff --git a/libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp b/libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp
index 448c5ba..ce331e5 100644
--- a/libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp
+++ b/libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp
@@ -17,6 +17,8 @@
// size_t operator()(T val) const;
// };
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
// Not very portable
#include <cassert>
@@ -44,18 +46,14 @@ test()
assert(h(&i) != h(&j));
}
-// can't hash nullptr_t until C++17
-void test_nullptr()
-{
-#if TEST_STD_VER > 14
- typedef std::nullptr_t T;
- typedef std::hash<T> H;
+void test_nullptr() {
+ typedef std::nullptr_t T;
+ typedef std::hash<T> H;
#if TEST_STD_VER <= 17
- static_assert((std::is_same<typename H::argument_type, T>::value), "" );
- static_assert((std::is_same<typename H::result_type, std::size_t>::value), "" );
-#endif
- ASSERT_NOEXCEPT(H()(T()));
+ static_assert((std::is_same<typename H::argument_type, T>::value), "");
+ static_assert((std::is_same<typename H::result_type, std::size_t>::value), "");
#endif
+ ASSERT_NOEXCEPT(H()(T()));
}
int main(int, char**)
diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_unique_ptr.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_unique_ptr.pass.cpp
index 32fc949..e754049 100644
--- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_unique_ptr.pass.cpp
+++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_unique_ptr.pass.cpp
@@ -90,12 +90,10 @@ int main(int, char**)
test_enabled_with_deleter<A, PointerDeleter<A, 1>>();
test_enabled_with_deleter<A[], PointerDeleter<A[], 1>>();
-#if TEST_STD_VER > 14
test_disabled_with_deleter<int, PointerDeleter<int, 0>>();
test_disabled_with_deleter<int[], PointerDeleter<int[], 0>>();
test_disabled_with_deleter<A, PointerDeleter<A, 0>>();
test_disabled_with_deleter<A[], PointerDeleter<A[], 0>>();
-#endif
}
#endif
diff --git a/libcxx/test/support/poisoned_hash_helper.h b/libcxx/test/support/poisoned_hash_helper.h
index 93b579d..cd71cd7 100644
--- a/libcxx/test/support/poisoned_hash_helper.h
+++ b/libcxx/test/support/poisoned_hash_helper.h
@@ -123,13 +123,9 @@ struct Class {};
// Each header that declares the std::hash template provides enabled
// specializations of std::hash for std::nullptr_t and all cv-unqualified
// arithmetic, enumeration, and pointer types.
-#if TEST_STD_VER >= 17
-using MaybeNullptr = types::type_list<std::nullptr_t>;
-#else
-using MaybeNullptr = types::type_list<>;
-#endif
-using LibraryHashTypes = types::
- concatenate_t<types::arithmetic_types, types::type_list<Enum, EnumClass, void*, void const*, Class*>, MaybeNullptr>;
+using LibraryHashTypes =
+ types::concatenate_t<types::arithmetic_types,
+ types::type_list<Enum, EnumClass, void*, void const*, Class*, std::nullptr_t>>;
struct TestHashEnabled {
template <class T>
diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot
index 57ecf1e..d265ddd 100755
--- a/libcxx/utils/ci/run-buildbot
+++ b/libcxx/utils/ci/run-buildbot
@@ -35,8 +35,6 @@ CC The C compiler to use, this value is used by CMake. This
CXX The C++ compiler to use, this value is used by CMake. This
variable is optional.
-CMAKE The CMake binary to use. This variable is optional.
-
CLANG_FORMAT The clang-format binary to use when generating the format
ignore list.
@@ -73,29 +71,6 @@ MONOREPO_ROOT="${MONOREPO_ROOT:="$(git rev-parse --show-toplevel)"}"
BUILD_DIR="${BUILD_DIR:=${MONOREPO_ROOT}/build/${BUILDER}}"
INSTALL_DIR="${BUILD_DIR}/install"
-# If we can find Ninja/CMake provided by Xcode, use those since we know their
-# version will generally work with the Clang shipped in Xcode (e.g. if Clang
-# knows about -std=c++20, the CMake bundled in Xcode will probably know about
-# that flag too).
-if xcrun --find ninja &>/dev/null; then
- NINJA="$(xcrun --find ninja)"
-elif which ninja &>/dev/null; then
- # The current implementation of modules needs the absolute path to the ninja
- # binary.
- # TODO MODULES Is this still needed when CMake has libc++ module support?
- NINJA="$(which ninja)"
-else
- NINJA="ninja"
-fi
-
-if [ -z "${CMAKE}" ]; then
- if xcrun --find cmake &>/dev/null; then
- CMAKE="$(xcrun --find cmake)"
- else
- CMAKE="cmake"
- fi
-fi
-
function step() {
endstep
set +x
@@ -129,10 +104,10 @@ function generate-cmake-base() {
step "Generating CMake"
# We can remove -DCMAKE_INSTALL_MESSAGE=NEVER once https://gitlab.kitware.com/cmake/cmake/-/issues/26085 is fixed.
- ${CMAKE} \
+ cmake \
-S "${MONOREPO_ROOT}/runtimes" \
-B "${BUILD_DIR}" \
- -GNinja -DCMAKE_MAKE_PROGRAM="${NINJA}" \
+ -GNinja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
-DLIBCXX_ENABLE_WERROR=YES \
@@ -168,25 +143,25 @@ function generate-cmake-android() {
function check-runtimes() {
step "Building libc++ test dependencies"
- ${NINJA} -vC "${BUILD_DIR}" cxx-test-depends
+ ninja -vC "${BUILD_DIR}" cxx-test-depends
step "Running the libc++ tests"
- ${NINJA} -vC "${BUILD_DIR}" check-cxx
+ ninja -vC "${BUILD_DIR}" check-cxx
step "Running the libc++abi tests"
- ${NINJA} -vC "${BUILD_DIR}" check-cxxabi
+ ninja -vC "${BUILD_DIR}" check-cxxabi
step "Running the libunwind tests"
- ${NINJA} -vC "${BUILD_DIR}" check-unwind
+ ninja -vC "${BUILD_DIR}" check-unwind
}
# TODO: The goal is to test this against all configurations. We should also move
# this to the Lit test suite instead of being a separate CMake target.
function check-abi-list() {
step "Running the libc++ ABI list test"
- ${NINJA} -vC "${BUILD_DIR}" check-cxx-abilist || (
+ ninja -vC "${BUILD_DIR}" check-cxx-abilist || (
error "Generating the libc++ ABI list after failed check"
- ${NINJA} -vC "${BUILD_DIR}" generate-cxx-abilist
+ ninja -vC "${BUILD_DIR}" generate-cxx-abilist
false
)
}
@@ -212,10 +187,10 @@ function test-armv7m-picolibc() {
# architecture name, which is not what Clang's driver expects to find.
# The install location will however be wrong with
# LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON, so we correct that below.
- ${CMAKE} \
+ cmake \
-S "${MONOREPO_ROOT}/compiler-rt" \
-B "${BUILD_DIR}/compiler-rt" \
- -GNinja -DCMAKE_MAKE_PROGRAM="${NINJA}" \
+ -GNinja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
-DCMAKE_C_FLAGS="${flags}" \
@@ -233,7 +208,7 @@ function test-armv7m-picolibc() {
"${@}"
step "Installing compiler-rt"
- ${NINJA} -vC "${BUILD_DIR}/compiler-rt" install
+ ninja -vC "${BUILD_DIR}/compiler-rt" install
# Move compiler-rt libs into the same directory as all the picolib objects.
mv "${INSTALL_DIR}/lib/armv7m-unknown-none-eabi"/* "${INSTALL_DIR}/lib"
@@ -242,8 +217,8 @@ function test-armv7m-picolibc() {
# Print the version of a few tools to aid diagnostics in some cases
step "Diagnose tools in use"
-${CMAKE} --version
-${NINJA} --version
+cmake --version
+ninja --version
if [ ! -z "${CXX}" ]; then ${CXX} --version; fi
case "${BUILDER}" in
@@ -256,7 +231,7 @@ check-generated-output)
# Reject patches that forgot to re-run the generator scripts.
step "Making sure the generator scripts were run"
set +x # Printing all the commands below just creates extremely confusing output
- ${NINJA} -vC "${BUILD_DIR}" libcxx-generate-files
+ ninja -vC "${BUILD_DIR}" libcxx-generate-files
git diff | tee ${BUILD_DIR}/generated_output.patch
git ls-files -o --exclude-standard | tee ${BUILD_DIR}/generated_output.status
! grep -q '^--- a' ${BUILD_DIR}/generated_output.patch || false
@@ -383,10 +358,10 @@ bootstrapping-build)
clean
step "Generating CMake"
- ${CMAKE} \
+ cmake \
-S "${MONOREPO_ROOT}/llvm" \
-B "${BUILD_DIR}" \
- -GNinja -DCMAKE_MAKE_PROGRAM="${NINJA}" \
+ -GNinja \
-DCMAKE_CXX_COMPILER_LAUNCHER="ccache" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
@@ -400,13 +375,13 @@ bootstrapping-build)
-DLLVM_LIT_ARGS="-sv --xunit-xml-output test-results.xml --timeout=1500 --time-tests"
step "Running the libc++ and libc++abi tests"
- ${NINJA} -vC "${BUILD_DIR}" check-runtimes
+ ninja -vC "${BUILD_DIR}" check-runtimes
step "Installing libc++ and libc++abi to a fake location"
- ${NINJA} -vC "${BUILD_DIR}" install-runtimes
+ ninja -vC "${BUILD_DIR}" install-runtimes
step "Running the LLDB libc++ data formatter tests"
- ${NINJA} -vC "${BUILD_DIR}" lldb-api-test-deps
+ ninja -vC "${BUILD_DIR}" lldb-api-test-deps
${BUILD_DIR}/bin/llvm-lit -sv --param dotest-args='--category libc++' "${MONOREPO_ROOT}/lldb/test/API"
ccache -s
@@ -572,10 +547,10 @@ apple-system|apple-system-hardened)
# In the Apple system configuration, we build libc++ and libunwind separately.
step "Installing libc++ and libc++abi in Apple-system configuration"
- ${CMAKE} \
+ cmake \
-S "${MONOREPO_ROOT}/runtimes" \
-B "${BUILD_DIR}/cxx" \
- -GNinja -DCMAKE_MAKE_PROGRAM="${NINJA}" \
+ -GNinja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}/cxx" \
-DLLVM_LIT_ARGS="-sv --xunit-xml-output test-results.xml --timeout=1500 --time-tests" \
@@ -588,10 +563,10 @@ apple-system|apple-system-hardened)
-DLIBCXXABI_TEST_PARAMS="${params}"
step "Installing libunwind in Apple-system configuration"
- ${CMAKE} \
+ cmake \
-S "${MONOREPO_ROOT}/runtimes" \
-B "${BUILD_DIR}/unwind" \
- -GNinja -DCMAKE_MAKE_PROGRAM="${NINJA}" \
+ -GNinja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}/unwind" \
-DLLVM_LIT_ARGS="-sv --xunit-xml-output test-results.xml --timeout=1500 --time-tests" \
@@ -601,13 +576,13 @@ apple-system|apple-system-hardened)
-DCMAKE_INSTALL_NAME_DIR="/usr/lib/system"
step "Running the libc++ tests"
- ${NINJA} -vC "${BUILD_DIR}/cxx" check-cxx
+ ninja -vC "${BUILD_DIR}/cxx" check-cxx
step "Running the libc++abi tests"
- ${NINJA} -vC "${BUILD_DIR}/cxx" check-cxxabi
+ ninja -vC "${BUILD_DIR}/cxx" check-cxxabi
step "Running the libunwind tests"
- ${NINJA} -vC "${BUILD_DIR}/unwind" check-unwind
+ ninja -vC "${BUILD_DIR}/unwind" check-unwind
;;
aarch64)
clean
@@ -665,13 +640,13 @@ clang-cl-dll)
# setting when cmake and the test driver does the right thing automatically.
generate-cmake-libcxx-win -DLIBCXX_TEST_PARAMS="enable_experimental=False"
step "Running the libc++ tests"
- ${NINJA} -vC "${BUILD_DIR}" check-cxx
+ ninja -vC "${BUILD_DIR}" check-cxx
;;
clang-cl-static)
clean
generate-cmake-libcxx-win -DLIBCXX_ENABLE_SHARED=OFF
step "Running the libc++ tests"
- ${NINJA} -vC "${BUILD_DIR}" check-cxx
+ ninja -vC "${BUILD_DIR}" check-cxx
;;
clang-cl-no-vcruntime)
clean
@@ -682,14 +657,14 @@ clang-cl-no-vcruntime)
generate-cmake-libcxx-win -DLIBCXX_TEST_PARAMS="enable_experimental=False" \
-DLIBCXX_TEST_CONFIG="llvm-libc++-shared-no-vcruntime-clangcl.cfg.in"
step "Running the libc++ tests"
- ${NINJA} -vC "${BUILD_DIR}" check-cxx
+ ninja -vC "${BUILD_DIR}" check-cxx
;;
clang-cl-debug)
clean
generate-cmake-libcxx-win -DLIBCXX_TEST_PARAMS="enable_experimental=False" \
-DCMAKE_BUILD_TYPE=Debug
step "Running the libc++ tests"
- ${NINJA} -vC "${BUILD_DIR}" check-cxx
+ ninja -vC "${BUILD_DIR}" check-cxx
;;
clang-cl-static-crt)
clean
@@ -698,7 +673,7 @@ clang-cl-static-crt)
generate-cmake-libcxx-win -DLIBCXX_ENABLE_SHARED=OFF \
-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded
step "Running the libc++ tests"
- ${NINJA} -vC "${BUILD_DIR}" check-cxx
+ ninja -vC "${BUILD_DIR}" check-cxx
;;
mingw-dll)
clean
@@ -744,7 +719,7 @@ mingw-incomplete-sysroot)
# Only test that building succeeds; there's not much extra value in running
# the tests here, as it would be equivalent to the mingw-dll config above.
step "Building the runtimes"
- ${NINJA} -vC "${BUILD_DIR}"
+ ninja -vC "${BUILD_DIR}"
;;
aix)
clean
@@ -781,7 +756,7 @@ android-ndk-*)
-DLIBCXX_TEST_PARAMS="${PARAMS}" \
-DLIBCXXABI_TEST_PARAMS="${PARAMS}"
check-abi-list
- ${NINJA} -vC "${BUILD_DIR}" install-cxx install-cxxabi
+ ninja -vC "${BUILD_DIR}" install-cxx install-cxxabi
# Start the emulator and make sure we can connect to the adb server running
# inside of it.
@@ -794,9 +769,9 @@ android-ndk-*)
adb shell mkdir -p /data/local/tmp/adb_run
adb push "${BUILD_DIR}/lib/libc++_shared.so" /data/local/tmp/libc++/libc++_shared.so
step "Running the libc++ tests"
- ${NINJA} -vC "${BUILD_DIR}" check-cxx
+ ninja -vC "${BUILD_DIR}" check-cxx
step "Running the libc++abi tests"
- ${NINJA} -vC "${BUILD_DIR}" check-cxxabi
+ ninja -vC "${BUILD_DIR}" check-cxxabi
;;
#################################################################
# Insert vendor-specific internal configurations below.