diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp --- a/libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp @@ -8,6 +8,13 @@ // UNSUPPORTED: c++03 +// z/OS doesn't currently have runtime linking. This prevents calls to new and +// delete in the standard library (like the one caused by the allocation in the +// string constructor) from invoking user-defined versions of those operators +// (like the ones in count_new.h). Thus, globalMemCounter doesn't see the +// new we expect it to. +// UNSUPPORTED: target={{.+}}-zos{{.*}} + // // class path diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp --- a/libcxx/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp @@ -11,6 +11,13 @@ // These tests require locale for non-char paths // UNSUPPORTED: libcpp-has-no-localization +// z/OS doesn't currently have runtime linking. This prevents calls to new and +// delete in the standard library (like the one during path concatenation +// caused by basic_string::__grow_by_and_replace) from invoking user-defined +// versions of those operators (like the ones in count_new.h). Thus, +// RequireAllocationGuard doesn't see the new we expect it to. +// UNSUPPORTED: target={{.+}}-zos{{.*}} + // // class path diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp --- a/libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp @@ -8,6 +8,13 @@ // UNSUPPORTED: c++03 +// z/OS doesn't currently have runtime linking. This prevents calls to new and +// delete in the standard library (like the one caused by the allocation in the +// string constructor) from invoking user-defined versions of those operators +// (like the ones in count_new.h). Thus, globalMemCounter doesn't see the +// new we expect it to. +// UNSUPPORTED: target={{.+}}-zos{{.*}} + // // class path diff --git a/libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp b/libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp --- a/libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp +++ b/libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp @@ -6,6 +6,12 @@ // //===----------------------------------------------------------------------===// +// z/OS doesn't currently have runtime linking. This prevents calls to new and +// delete in the standard library (like the one in ctype::~ctype) from +// invoking user-defined versions of those operators (like the ones in +// count_new.h). Thus, globalMemCounter doesn't see the delete[] it's expecting. +// UNSUPPORTED: target={{.+}}-zos{{.*}} + // // template <> class ctype diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp --- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp +++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp @@ -8,6 +8,12 @@ // // UNSUPPORTED: libcpp-has-no-threads +// z/OS doesn't currently have runtime linking. This prevents calls to new and +// delete in the standard library (like the one caused by the argument copy in +// the thread constructor) from invoking user-defined versions of those +// operators. +// UNSUPPORTED: target={{.+}}-zos{{.*}} + // // class thread