[libcxx-commits] [PATCH] D116866: [libc++] [test] ASSERT_WITH_LIBRARY_INTERNAL_ALLOCATIONS is not supported on AIX

Arthur O'Dwyer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sat Jan 8 12:26:30 PST 2022


Quuxplusone created this revision.
Quuxplusone added reviewers: daltenty, ldionne, Mordante, mstorsjo.
Quuxplusone added a project: libc++.
Quuxplusone requested review of this revision.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

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 <https://reviews.llvm.org/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


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D116866

Files:
  libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp
  libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp
  libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp
  libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp
  libcxx/test/support/test_macros.h


Index: libcxx/test/support/test_macros.h
===================================================================
--- libcxx/test/support/test_macros.h
+++ libcxx/test/support/test_macros.h
@@ -314,7 +314,7 @@
 #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 @@
 // 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
Index: libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp
===================================================================
--- libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp
+++ libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp
@@ -7,7 +7,6 @@
 //===----------------------------------------------------------------------===//
 //
 // UNSUPPORTED: libcpp-has-no-threads
-// XFAIL: LIBCXX-AIX-FIXME
 
 // <thread>
 
Index: libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp
===================================================================
--- libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp
+++ libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp
@@ -6,8 +6,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-// XFAIL: LIBCXX-AIX-FIXME
-
 // <locale>
 
 // template <> class ctype<char>
Index: libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp
===================================================================
--- libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp
+++ libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp
@@ -7,7 +7,6 @@
 //===----------------------------------------------------------------------===//
 
 // UNSUPPORTED: c++03
-// XFAIL: LIBCXX-AIX-FIXME
 
 // <filesystem>
 
Index: libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp
===================================================================
--- libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp
+++ libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp
@@ -8,8 +8,6 @@
 
 // UNSUPPORTED: c++03
 
-// XFAIL: LIBCXX-AIX-FIXME
-
 // <filesystem>
 
 // class path


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D116866.398360.patch
Type: text/x-patch
Size: 2868 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220108/5193faaa/attachment-0001.bin>


More information about the libcxx-commits mailing list