summaryrefslogtreecommitdiff
path: root/libcxx/test/std/language.support/support.runtime/cstdlib.aligned_alloc.compile.pass.cpp
AgeCommit message (Collapse)Author
2024-06-28[libc++] Clean up and update deployment target features (#96312)Louis Dionne
This patch removes many annotations that are not relevant anymore since we don't support or test back-deploying to macOS < 10.13. It also cleans up raw usage of target triples to identify versions of dylibs shipped on prior versions of macOS, and uses the target-agnostic Lit features instead. Finally, it reorders both the Lit backdeployment features and the corresponding availability macros in the library in a way that makes more sense, and reformulates the Lit backdeployment features in terms of when a version of LLVM was introduced instead of encoding the system versions on which it hasn't been introduced yet. Although one can be derived from the other, encoding the negative form is extremely error-prone. Fixes #80901
2024-06-21[libc++] Fix deployment target Lit features (#94791)Louis Dionne
We were not making any distinction between e.g. the "Apple-flavored" libc++ built from trunk and the system-provided standard library on Apple platforms. For example, any test that would be XFAILed on a back-deployment target would unexpectedly pass when run on that deployment target against the tip of trunk Apple-flavored libc++. In reality, that test would be expected to pass because we're running against the latest libc++, even if it is Apple-flavored. To solve this issue, we introduce a new feature that describes whether the Standard Library in use is the one provided by the system by default, and that notion is different from the underlying standard library flavor. We also refactor the existing Lit features to make a distinction between availability markup and the library we're running against at runtime, which otherwise limit the flexibility of what we can express in the test suite. Finally, we refactor some of the back-deployment versions that were incorrect (such as thinking that LLVM 10 was introduced in macOS 11, when in reality macOS 11 was synced with LLVM 11). Fixes #82107
2023-03-30[libc++] Use the stdlib=<LIB> Lit feature instead of use_system_cxx_libLouis Dionne
The use_system_cxx_lib Lit feature was only used for back-deployment testing. However, one immense hole in that setup was that we didn't have a proper way to test Apple's own libc++ outside of back-deployment, which was embodied by the fact that we needed to define _LIBCPP_DISABLE_AVAILABILITY when testing (see change in libcxx/utils/libcxx/test/params.py). This led to the apple-system testing configuration not checking for availability markup, which is obviously quite bad since the library we ship actually has availability markup. Using stdlib=<VENDOR>-libc++ instead to encode back-deployment restrictions on tests is simpler and it makes it possible to naturally support tests such as availability markup checking even in the tip-of-trunk Apple-libc++ configuration. Differential Revision: https://reviews.llvm.org/D146366
2022-11-02[libc++][Android] XFAIL aligned_alloc and timespec_get testsRyan Prichard
Mark tests XFAIL that use APIs that are unsupported on old versions of Android: - aligned_alloc isn't available until API 28. - timespec_get isn't available until API 29. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D137134
2021-10-12[libcxx] [test] Make windows triples in XFAILs less specificMartin Storsjö
This allows picking up on mingw triples that often use 'w64' instead of 'pc' as the vendor part. Differential Revision: https://reviews.llvm.org/D111297
2021-08-18[libc++] Split off tests for aligned_alloc & friends into separate test filesLouis Dionne
This allows testing the rest of those headers on most platforms, instead of XFAILing the whole test just because of a few functions. As a fly-by fix, remove std/utilities/time/date.time/ctime.pass.cpp, which was a duplicate of std/language.support/support.runtime/ctime.pass.cpp. Differential Revision: https://reviews.llvm.org/D108295