diff options
Diffstat (limited to 'libcxx')
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. |
