[libc++] [test] ASSERT_WITH_LIBRARY_INTERNAL_ALLOCATIONS is not supported on AIX.

I believe all four of these failures are directly due to the pattern where
allocations in the dylib are unobserved by the client program. If AIX32 and AIX64
don't support that, we should just disable the ASSERT_WITH_LIBRARY_INTERNAL_ALLOCATIONS
macro on AIX, and then we don't need to XFAIL these tests.

This also means I won't need to XFAIL a dozen other tests in D89057,
which rely heavily on ASSERT_WITH_LIBRARY_INTERNAL_ALLOCATIONS and
also currently fail on AIX.
See https://buildkite.com/llvm-project/libcxx-ci/builds/7669

Differential Revision: https://reviews.llvm.org/D116866
This commit is contained in:
Arthur O'Dwyer 2022-01-08 15:20:37 -05:00
parent 63d2df003e
commit fa244345e1
5 changed files with 2 additions and 9 deletions

View File

@ -8,8 +8,6 @@
// UNSUPPORTED: c++03
// XFAIL: LIBCXX-AIX-FIXME
// <filesystem>
// class path

View File

@ -8,8 +8,6 @@
// UNSUPPORTED: c++03
// XFAIL: LIBCXX-AIX-FIXME
// <filesystem>
// class path

View File

@ -6,8 +6,6 @@
//
//===----------------------------------------------------------------------===//
// XFAIL: LIBCXX-AIX-FIXME
// <locale>
// template <> class ctype<char>

View File

@ -15,8 +15,6 @@
// UNSUPPORTED: libcpp-has-no-threads
// UNSUPPORTED: sanitizer-new-delete
// XFAIL: LIBCXX-AIX-FIXME
// This fails on MinGW when statically linked, if built with Clang 13 or older.
// (It's fixed in the upcoming Clang 14, by https://reviews.llvm.org/D109651.)
// Prior to the fix, when statically linked, the unwind info for the two

View File

@ -314,7 +314,7 @@ inline void DoNotOptimize(Tp const& value) {
#endif
#if (defined(_WIN32) && !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)) || \
defined(__MVS__)
defined(__MVS__) || defined(_AIX)
// Macros for waiving cases when we can't count allocations done within
// the library implementation.
//
@ -324,6 +324,7 @@ inline void DoNotOptimize(Tp const& value) {
// calls within the library.
//
// The same goes on IBM zOS.
// The same goes on AIX.
#define ASSERT_WITH_LIBRARY_INTERNAL_ALLOCATIONS(...) ((void)(__VA_ARGS__))
#define TEST_SUPPORTS_LIBRARY_INTERNAL_ALLOCATIONS 0
#else