https://github.com/ldionne created https://github.com/llvm/llvm-project/pull/94791
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. >From 61a434bae9f3787122e123540b7c379f410e037b Mon Sep 17 00:00:00 2001 From: Louis Dionne <ldionn...@gmail.com> Date: Fri, 31 May 2024 10:55:53 -0700 Subject: [PATCH] [libc++] Fix deployment target Lit features 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. --- .../configs/apple-libc++-backdeployment.cfg.in | 1 + .../cxa_deleted_virtual.pass.cpp | 2 +- .../string.capacity/PR53170.pass.cpp | 2 +- .../string.capacity/allocation_size.pass.cpp | 2 +- ...2_notify_from_pthread_created_thread.pass.cpp | 2 +- .../thread.thread.this/sleep_for.pass.cpp | 2 +- .../sleep_for.signals.pass.cpp | 2 +- .../stdlib_h.aligned_alloc.compile.pass.cpp | 2 +- .../generic_category.pass.cpp | 2 +- .../system_category.pass.cpp | 2 +- .../directory_entry.mods/refresh.pass.cpp | 2 +- .../directory_entry.obs/file_size.pass.cpp | 2 +- .../directory_entry.obs/hard_link_count.pass.cpp | 2 +- .../directory_entry.obs/last_write_time.pass.cpp | 2 +- .../fs.op.copy_file/copy_file.pass.cpp | 2 +- .../create_directories.pass.cpp | 2 +- .../create_directory.pass.cpp | 2 +- .../create_directory_with_attributes.pass.cpp | 2 +- .../fs.op.file_size/file_size.pass.cpp | 2 +- .../last_write_time.pass.cpp | 2 +- .../fs.op.funcs/fs.op.remove_all/toctou.pass.cpp | 6 +++--- .../istream.formatted.arithmetic/bool.pass.cpp | 2 +- .../istream.formatted.arithmetic/double.pass.cpp | 2 +- .../istream.formatted.arithmetic/float.pass.cpp | 2 +- .../istream.formatted.arithmetic/int.pass.cpp | 2 +- .../istream.formatted.arithmetic/long.pass.cpp | 2 +- .../long_double.pass.cpp | 2 +- .../long_long.pass.cpp | 2 +- .../pointer.pass.cpp | 2 +- .../istream.formatted.arithmetic/short.pass.cpp | 2 +- .../unsigned_int.pass.cpp | 2 +- .../unsigned_long.pass.cpp | 2 +- .../unsigned_long_long.pass.cpp | 2 +- .../unsigned_short.pass.cpp | 2 +- .../istream_extractors/streambuf.pass.cpp | 2 +- .../istream.unformatted/get.pass.cpp | 2 +- .../istream.unformatted/get_chart.pass.cpp | 2 +- .../get_pointer_size.pass.cpp | 2 +- .../get_pointer_size_chart.pass.cpp | 2 +- .../istream.unformatted/get_streambuf.pass.cpp | 2 +- .../get_streambuf_chart.pass.cpp | 2 +- .../getline_pointer_size.pass.cpp | 2 +- .../getline_pointer_size_chart.pass.cpp | 2 +- .../istream.unformatted/ignore.pass.cpp | 2 +- .../istream.unformatted/peek.pass.cpp | 2 +- .../istream.unformatted/read.pass.cpp | 2 +- .../istream.unformatted/seekg_off.pass.cpp | 2 +- .../minmax_showbase.pass.cpp | 2 +- .../ostream.inserters.arithmetic/minus1.pass.cpp | 2 +- .../ios_Init/ios_Init.multiple.pass.cpp | 2 +- ...ized_delete_array_fsizeddeallocation.pass.cpp | 2 +- .../sized_delete_fsizeddeallocation.pass.cpp | 2 +- .../uncaught/uncaught_exceptions.pass.cpp | 4 ++-- .../cstdlib.aligned_alloc.compile.pass.cpp | 2 +- .../ctime.timespec.compile.pass.cpp | 2 +- .../std/localization/codecvt_unicode.pass.cpp | 2 +- .../facet.ctype.char.statics/table_size.pass.cpp | 4 ++-- .../facet.num.get.members/get_long.pass.cpp | 2 +- .../locale.cons/name_construction.pass.cpp | 2 +- .../std/numerics/rand/rand.device/ctor.pass.cpp | 4 ++-- .../string.capacity/max_size.pass.cpp | 2 +- .../string.capacity/over_max_size.pass.cpp | 4 ++-- .../string.capacity/reserve_size.pass.cpp | 2 +- .../futures.async/async_race.38682.pass.cpp | 2 +- .../futures/futures.future_error/what.pass.cpp | 2 +- .../notify_all_at_thread_exit_lwg3343.pass.cpp | 4 ++-- .../memory/temporary.buffer/overaligned.pass.cpp | 2 +- libcxx/utils/ci/buildkite-pipeline.yml | 4 ++-- libcxx/utils/ci/run-buildbot | 2 +- libcxx/utils/libcxx/test/features.py | 16 ++++++++-------- libcxx/utils/libcxx/test/params.py | 13 +++++++++++++ libcxxabi/test/catch_function_01.pass.cpp | 2 +- libcxxabi/test/catch_function_03.pass.cpp | 2 +- .../test/catch_member_data_pointer_01.pass.cpp | 2 +- .../catch_member_function_pointer_02.pass.cpp | 2 +- .../test/catch_member_pointer_nullptr.pass.cpp | 2 +- .../test/catch_multi_level_pointer.pass.cpp | 2 +- ...catch_null_pointer_to_object_pr64953.pass.cpp | 4 ++-- libcxxabi/test/catch_pointer_nullptr.pass.cpp | 2 +- libcxxabi/test/catch_ptr_02.pass.cpp | 2 +- .../apple-libc++abi-backdeployment.cfg.in | 1 + .../test/cxa_vec_new_overflow_PR41395.pass.cpp | 2 +- libcxxabi/test/dynamic_cast.pass.cpp | 4 ++-- .../test/exception_object_alignment.pass.cpp | 2 +- libcxxabi/test/forced_unwind1.pass.cpp | 4 ++-- libcxxabi/test/forced_unwind2.pass.cpp | 4 ++-- libcxxabi/test/incomplete_type.sh.cpp | 2 +- .../test/test_aux_runtime_op_array_new.pass.cpp | 2 +- libcxxabi/test/test_demangle.pass.cpp | 6 +++--- .../test_exception_address_alignment.pass.cpp | 2 +- libcxxabi/test/uncaught_exception.pass.cpp | 4 ++-- libcxxabi/test/uncaught_exceptions.pass.cpp | 2 +- .../apple-libunwind-backdeployment.cfg.in | 1 + libunwind/test/libunwind_01.pass.cpp | 2 +- 94 files changed, 128 insertions(+), 112 deletions(-) diff --git a/libcxx/test/configs/apple-libc++-backdeployment.cfg.in b/libcxx/test/configs/apple-libc++-backdeployment.cfg.in index 42594461f10e7..9843c4a9ad70d 100644 --- a/libcxx/test/configs/apple-libc++-backdeployment.cfg.in +++ b/libcxx/test/configs/apple-libc++-backdeployment.cfg.in @@ -55,6 +55,7 @@ config.substitutions.append(('%{exec}', )) config.stdlib = 'apple-libc++' +config.using_system_stdlib = True libcxx.test.config.configure( libcxx.test.params.DEFAULT_PARAMETERS + BACKDEPLOYMENT_PARAMETERS, diff --git a/libcxx/test/libcxx/language.support/cxa_deleted_virtual.pass.cpp b/libcxx/test/libcxx/language.support/cxa_deleted_virtual.pass.cpp index 723cd9f33b263..11b72fa9ed401 100644 --- a/libcxx/test/libcxx/language.support/cxa_deleted_virtual.pass.cpp +++ b/libcxx/test/libcxx/language.support/cxa_deleted_virtual.pass.cpp @@ -11,7 +11,7 @@ // Test exporting the symbol: "__cxa_deleted_virtual" in macosx // But don't expect the symbol to be exported in previous versions. // -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13}} struct S { virtual void f() = delete; virtual ~S() {} }; int main(int, char**) { diff --git a/libcxx/test/libcxx/strings/basic.string/string.capacity/PR53170.pass.cpp b/libcxx/test/libcxx/strings/basic.string/string.capacity/PR53170.pass.cpp index 8415214efa8b8..2b46d4bc2fb08 100644 --- a/libcxx/test/libcxx/strings/basic.string/string.capacity/PR53170.pass.cpp +++ b/libcxx/test/libcxx/strings/basic.string/string.capacity/PR53170.pass.cpp @@ -22,7 +22,7 @@ // Reported as https://llvm.org/PR53170. // reserve(n) used to shrink the string until https://llvm.org/D117332 was shipped. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0|12.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0|12.0}} #include <string> #include <stdexcept> diff --git a/libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp b/libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp index 1110e3d3ec568..7ece456acd553 100644 --- a/libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp +++ b/libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{10.13|10.15|11.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{10.13|10.15|11.0}} // <string> diff --git a/libcxx/test/libcxx/thread/thread.condition/PR30202_notify_from_pthread_created_thread.pass.cpp b/libcxx/test/libcxx/thread/thread.condition/PR30202_notify_from_pthread_created_thread.pass.cpp index b1a3f86e86437..b7652b074bde8 100644 --- a/libcxx/test/libcxx/thread/thread.condition/PR30202_notify_from_pthread_created_thread.pass.cpp +++ b/libcxx/test/libcxx/thread/thread.condition/PR30202_notify_from_pthread_created_thread.pass.cpp @@ -14,7 +14,7 @@ // UNSUPPORTED: c++03 // PR30202 was fixed starting in macosx10.13. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12}} // <condition_variable> diff --git a/libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp b/libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp index 47741d0851e89..6f08dde2f3132 100644 --- a/libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp +++ b/libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp @@ -11,7 +11,7 @@ // Until 58a0a70fb2f1, this_thread::sleep_for could sometimes get interrupted // by signals and this test would fail spuriously. Disable the test on the // corresponding system libraries. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11}} // ALLOW_RETRIES: 3 diff --git a/libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.signals.pass.cpp b/libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.signals.pass.cpp index ad62e0c113281..12376695fac34 100644 --- a/libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.signals.pass.cpp +++ b/libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.signals.pass.cpp @@ -14,7 +14,7 @@ // Until 58a0a70fb2f1, this_thread::sleep_for misbehaves when interrupted by // a signal, as tested here. Disable the test on the corresponding system // libraries. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11}} // ALLOW_RETRIES: 3 diff --git a/libcxx/test/std/depr/depr.c.headers/stdlib_h.aligned_alloc.compile.pass.cpp b/libcxx/test/std/depr/depr.c.headers/stdlib_h.aligned_alloc.compile.pass.cpp index c0409307a8f4f..7ddf03fff4f4e 100644 --- a/libcxx/test/std/depr/depr.c.headers/stdlib_h.aligned_alloc.compile.pass.cpp +++ b/libcxx/test/std/depr/depr.c.headers/stdlib_h.aligned_alloc.compile.pass.cpp @@ -13,7 +13,7 @@ // ::aligned_alloc is provided by the C library, but it's marked as unavailable // until macOS 10.15 -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // ::aligned_alloc is not implemented on Windows // XFAIL: target={{.+}}-windows-{{.+}} diff --git a/libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp b/libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp index 7283fdc769d86..35c2726fda2a0 100644 --- a/libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp +++ b/libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12}} // <system_error> diff --git a/libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp b/libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp index 02a1baf599983..0f622289248b7 100644 --- a/libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp +++ b/libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp @@ -12,7 +12,7 @@ // const error_category& system_category(); -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12}} #include <system_error> #include <cassert> diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp index 4f5002e068c19..f2d5e7dd0e563 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp @@ -11,7 +11,7 @@ // The string reported on errors changed, which makes those tests fail when run // against already-released libc++'s. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{10.15|11.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{10.15|11.0}} // <filesystem> diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp index e1407858f66ac..11295855d3ca0 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp @@ -11,7 +11,7 @@ // The string reported on errors changed, which makes those tests fail when run // against already-released libc++'s. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{10.15|11.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{10.15|11.0}} // Starting in Android N (API 24), SELinux policy prevents the shell user from // creating a FIFO file. diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp index 514bbb27c2c47..f40b06e106e12 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp @@ -11,7 +11,7 @@ // The string reported on errors changed, which makes those tests fail when run // against already-released libc++'s. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{10.15|11.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{10.15|11.0}} // Starting in Android N (API 24), SELinux policy prevents the shell user from // creating a hard link. diff --git a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp index 41e2ee668f525..72039bb06921f 100644 --- a/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp @@ -11,7 +11,7 @@ // The string reported on errors changed, which makes those tests fail when run // against already-released libc++'s. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{10.15|11.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{10.15|11.0}} // <filesystem> diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp index e81beed4f2adf..3209e16d00612 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp @@ -12,7 +12,7 @@ // The string reported on errors changed, which makes those tests fail when run // against already-released libc++'s. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{10.15|11.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{10.15|11.0}} // Starting in Android N (API 24), SELinux policy prevents the shell user from // creating a FIFO file. diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp index 9955e08710c56..3658a24b72b28 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp @@ -12,7 +12,7 @@ // UNSUPPORTED: availability-filesystem-missing // This test requires the dylib support introduced in D92769. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{10.15|11.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{10.15|11.0}} // <filesystem> diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp index 21f283cae86d5..cdedf0d461260 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp @@ -12,7 +12,7 @@ // UNSUPPORTED: availability-filesystem-missing // This test requires the dylib support introduced in http://llvm.org/D92769. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{10.15|11.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{10.15|11.0}} // <filesystem> diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp index a0ec52643e8c0..dee6690997fb1 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp @@ -12,7 +12,7 @@ // UNSUPPORTED: availability-filesystem-missing // This test requires the dylib support introduced in http://llvm.org/D92769. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{10.15|11.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{10.15|11.0}} // <filesystem> diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp index 99d303bc4244d..648598bb10124 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp @@ -13,7 +13,7 @@ // The string reported on errors changed, which makes those tests fail when run // against already-released libc++'s. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{10.15|11.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{10.15|11.0}} // <filesystem> diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp index d43bc5eea5121..459224d41953a 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp @@ -13,7 +13,7 @@ // The string reported on errors changed, which makes those tests fail when run // against already-released libc++'s. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{10.15|11.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{10.15|11.0}} // <filesystem> diff --git a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp index 5248ba24b4038..5335f8070ffa4 100644 --- a/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp @@ -31,9 +31,9 @@ // This test requires a dylib containing the fix shipped in https://reviews.llvm.org/D118134. // We use UNSUPPORTED instead of XFAIL because the test might not fail reliably. -// UNSUPPORTED: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14|15}} -// UNSUPPORTED: stdlib=apple-libc++ && target={{.+}}-apple-macosx11.0 -// UNSUPPORTED: stdlib=apple-libc++ && target={{.+}}-apple-macosx12.{{0|1|2}} +// UNSUPPORTED: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14|15}} +// UNSUPPORTED: stdlib=system && target={{.+}}-apple-macosx11.0 +// UNSUPPORTED: stdlib=system && target={{.+}}-apple-macosx12.{{0|1|2}} // Windows doesn't support the necessary APIs to mitigate this issue. // XFAIL: target={{.+}}-windows-{{.+}} diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/bool.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/bool.pass.cpp index c7d7a4e1f83dd..4e915d340b31b 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/bool.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/bool.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/double.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/double.pass.cpp index 7bb793082ee93..c7f2476cf82f0 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/double.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/double.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/float.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/float.pass.cpp index cf4070a569a8f..1acc771a6af11 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/float.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/float.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/int.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/int.pass.cpp index 6bfd64abd41f6..dfd26975840ee 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/int.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/int.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long.pass.cpp index 8eca4d4299105..440afad4afb1b 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_double.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_double.pass.cpp index f290efecb4958..49a2c3d5eb66b 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_double.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_double.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_long.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_long.pass.cpp index 04fa1eaff6b36..1f2aee746c87c 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_long.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_long.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/pointer.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/pointer.pass.cpp index ee388e9dc6b1b..df467c98f793c 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/pointer.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/pointer.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/short.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/short.pass.cpp index 965e029ed657a..3530cd9adfa22 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/short.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/short.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_int.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_int.pass.cpp index f15a352f2ecce..3240b482b813e 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_int.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_int.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long.pass.cpp index 7c26e475aaccf..ba6dc22cacb4c 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long_long.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long_long.pass.cpp index d9af9213e43d2..453d17ed31c5b 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long_long.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long_long.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_short.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_short.pass.cpp index de5a989a52d72..70075760c57bf 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_short.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_short.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/streambuf.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/streambuf.pass.cpp index 35cb70e1e50ef..66a60c15ac060 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/streambuf.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/streambuf.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp index 13ac4028a0afd..068b70818aa1d 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp index fe15b3678f0e9..dce6ba770b4e0 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size.pass.cpp index 8ae08ba4b99d8..ab8d1f7e7d611 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size.pass.cpp @@ -8,7 +8,7 @@ // In macosx10.9 to macosx10.14, streams are provided in the dylib AND they // have a bug in how they handle null-termination in case of errors (see D40677). -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size_chart.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size_chart.pass.cpp index f310172b7a8c1..54873944af6a4 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size_chart.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size_chart.pass.cpp @@ -8,7 +8,7 @@ // In macosx10.9 to macosx10.14, streams are provided in the dylib AND they // have a bug in how they handle null-termination in case of errors (see D40677). -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf.pass.cpp index 331e38caefe4a..7290236a90584 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf_chart.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf_chart.pass.cpp index 50ec7ea54bf08..3d8cbf59e3298 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf_chart.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf_chart.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size.pass.cpp index 8d131da658133..6518469d8aa4e 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size.pass.cpp @@ -8,7 +8,7 @@ // In macosx10.9 to macosx10.14, streams are provided in the dylib AND they // have a bug in how they handle null-termination in case of errors (see D40677). -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size_chart.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size_chart.pass.cpp index b85478d5ed576..86fd5a656733b 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size_chart.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size_chart.pass.cpp @@ -8,7 +8,7 @@ // In macosx10.9 to macosx10.14, streams are provided in the dylib AND they // have a bug in how they handle null-termination in case of errors (see D40677). -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.pass.cpp index e313ddc5b97c1..0a853672cebed 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/peek.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/peek.pass.cpp index 29ccb2cb43fe1..45eab0ce28e48 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/peek.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/peek.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp index a00842dd3e0db..ba884e0a67b8a 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp index 8b43c31e9f2ba..5af9bda9c6f30 100644 --- a/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11}} // <istream> diff --git a/libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minmax_showbase.pass.cpp b/libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minmax_showbase.pass.cpp index a5b19c4e44cf7..bef2b071c8437 100644 --- a/libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minmax_showbase.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minmax_showbase.pass.cpp @@ -25,7 +25,7 @@ // This test exposes a regression that was not fixed yet in the libc++ // shipped with macOS 10.12, 10.13 and 10.14. See D32670 for details. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{12|13|14}} #include <cassert> #include <cstdint> diff --git a/libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp b/libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp index 207fc42e3cd48..34c143ac14495 100644 --- a/libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.12 +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.12 // <ostream> diff --git a/libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/ios_Init.multiple.pass.cpp b/libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/ios_Init.multiple.pass.cpp index f842f28e1fa4b..1d8fecf34529a 100644 --- a/libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/ios_Init.multiple.pass.cpp +++ b/libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/ios_Init.multiple.pass.cpp @@ -16,7 +16,7 @@ // The dylibs shipped on macOS so far do not contain the fix for PR43300, so // this test fails. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} int main(int, char**) { diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.pass.cpp index 7fb92938eeeae..563f8bb2c8f32 100644 --- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.pass.cpp +++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.pass.cpp @@ -12,7 +12,7 @@ // when sized deallocation is not supported, e.g., prior to C++14. // UNSUPPORTED: sanitizer-new-delete -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11}} // REQUIRES: -fsized-deallocation // ADDITIONAL_COMPILE_FLAGS: -fsized-deallocation diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.pass.cpp index df8b96447262f..d9d8e038784a8 100644 --- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.pass.cpp +++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.pass.cpp @@ -12,7 +12,7 @@ // when sized deallocation is not supported, e.g., prior to C++14. // UNSUPPORTED: sanitizer-new-delete -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11}} // REQUIRES: -fsized-deallocation // ADDITIONAL_COMPILE_FLAGS: -fsized-deallocation -O3 diff --git a/libcxx/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp b/libcxx/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp index 1d8b6b1560e88..e8a36a92e43ef 100644 --- a/libcxx/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp +++ b/libcxx/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp @@ -9,11 +9,11 @@ // UNSUPPORTED: no-exceptions // std::uncaught_exceptions() was introduced in the dylib on Mac OS 10.12 -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11}} // However, std::uncaught_exceptions() gives the wrong answer in Mac OS 10.12 // and 10.13, where it only gives 0 or 1. This was fixed later. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{12|13}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{12|13}} // test uncaught_exceptions diff --git a/libcxx/test/std/language.support/support.runtime/cstdlib.aligned_alloc.compile.pass.cpp b/libcxx/test/std/language.support/support.runtime/cstdlib.aligned_alloc.compile.pass.cpp index 1c3c546f415b8..da04d9f2dc0ff 100644 --- a/libcxx/test/std/language.support/support.runtime/cstdlib.aligned_alloc.compile.pass.cpp +++ b/libcxx/test/std/language.support/support.runtime/cstdlib.aligned_alloc.compile.pass.cpp @@ -13,7 +13,7 @@ // ::aligned_alloc is provided by the C library, but it's marked as unavailable // until macOS 10.15 -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // ::aligned_alloc is not implemented on Windows // XFAIL: target={{.+}}-windows-{{.+}} diff --git a/libcxx/test/std/language.support/support.runtime/ctime.timespec.compile.pass.cpp b/libcxx/test/std/language.support/support.runtime/ctime.timespec.compile.pass.cpp index 12b1c3888132e..87957afc4206e 100644 --- a/libcxx/test/std/language.support/support.runtime/ctime.timespec.compile.pass.cpp +++ b/libcxx/test/std/language.support/support.runtime/ctime.timespec.compile.pass.cpp @@ -16,7 +16,7 @@ // ::timespec_get is provided by the C library, but it's marked as // unavailable until macOS 10.15 -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // ::timespec_get is available starting with Android Q (API 29) // XFAIL: target={{.+}}-android{{(eabi)?(21|22|23|24|25|26|27|28)}} diff --git a/libcxx/test/std/localization/codecvt_unicode.pass.cpp b/libcxx/test/std/localization/codecvt_unicode.pass.cpp index 08ecc16ef4311..a434a22ff96ba 100644 --- a/libcxx/test/std/localization/codecvt_unicode.pass.cpp +++ b/libcxx/test/std/localization/codecvt_unicode.pass.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS -D_LIBCPP_ENABLE_CXX26_REMOVED_CODECVT -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0|12.0|13.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0|12.0|13.0}} #include <algorithm> #include <cassert> diff --git a/libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.statics/table_size.pass.cpp b/libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.statics/table_size.pass.cpp index bbfbe5d5d02ea..05536053825bc 100644 --- a/libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.statics/table_size.pass.cpp +++ b/libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.statics/table_size.pass.cpp @@ -14,8 +14,8 @@ // Before https://llvm.org/D110647, the shared library did not contain // std::ctype<char>::table_size, so this test fails with a link error. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14|15}} -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{11.0|12.0|13.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14|15}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{11.0|12.0|13.0}} #include <locale> #include <cassert> diff --git a/libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp b/libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp index a18084867b2f1..68c8789f92f24 100644 --- a/libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp +++ b/libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp @@ -15,7 +15,7 @@ // This test exercises the fix for PR28704, which isn't in the dylib for // some systems. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} #include <locale> #include <ios> diff --git a/libcxx/test/std/localization/locales/locale/locale.cons/name_construction.pass.cpp b/libcxx/test/std/localization/locales/locale/locale.cons/name_construction.pass.cpp index 471c66989f22f..d7be7e0f95a50 100644 --- a/libcxx/test/std/localization/locales/locale/locale.cons/name_construction.pass.cpp +++ b/libcxx/test/std/localization/locales/locale/locale.cons/name_construction.pass.cpp @@ -18,7 +18,7 @@ // This test exercises the fix for locale name construction (D119441), which // isn't in the dylib for some systems. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0|12.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0|12.0}} #include <locale> #include <cassert> diff --git a/libcxx/test/std/numerics/rand/rand.device/ctor.pass.cpp b/libcxx/test/std/numerics/rand/rand.device/ctor.pass.cpp index 796ab41716dd5..a9583be73af00 100644 --- a/libcxx/test/std/numerics/rand/rand.device/ctor.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.device/ctor.pass.cpp @@ -7,11 +7,11 @@ //===----------------------------------------------------------------------===// // See https://llvm.org/PR20183 -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11}} // The behavior of std::random_device changed on Apple platforms with // https://llvm.org/D116045. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0|12.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0|12.0}} // UNSUPPORTED: no-random-device diff --git a/libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp index 32ce1c8bf617d..e558b21c1d7d6 100644 --- a/libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp +++ b/libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp @@ -11,7 +11,7 @@ // After changing the alignment of the allocated pointer from 16 to 8, the exception thrown is no longer `bad_alloc` // but instead length_error on systems using new headers but older dylibs. // -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{10.13|10.15|11.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{10.13|10.15|11.0}} // <string> diff --git a/libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp index 0b459f9625689..eb8e003b51976 100644 --- a/libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp +++ b/libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp @@ -7,12 +7,12 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: no-exceptions -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11}} // Prior to http://llvm.org/D123580, there was a bug with how the max_size() // was calculated. That was inlined into some functions in the dylib, which leads // to failures when running this test against an older system dylib. -// XFAIL: stdlib=apple-libc++ && target=arm64-apple-macosx{{11.0|12.0}} +// XFAIL: stdlib=system && target=arm64-apple-macosx{{11.0|12.0}} // <string> diff --git a/libcxx/test/std/strings/basic.string/string.capacity/reserve_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.capacity/reserve_size.pass.cpp index 30c171680a23c..f466dbd05e747 100644 --- a/libcxx/test/std/strings/basic.string/string.capacity/reserve_size.pass.cpp +++ b/libcxx/test/std/strings/basic.string/string.capacity/reserve_size.pass.cpp @@ -12,7 +12,7 @@ // This test relies on https://llvm.org/PR45368 being fixed, which isn't in // older Apple dylibs -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0}} #include <string> #include <stdexcept> diff --git a/libcxx/test/std/thread/futures/futures.async/async_race.38682.pass.cpp b/libcxx/test/std/thread/futures/futures.async/async_race.38682.pass.cpp index 310aac599a38f..64ff0e76ff2d0 100644 --- a/libcxx/test/std/thread/futures/futures.async/async_race.38682.pass.cpp +++ b/libcxx/test/std/thread/futures/futures.async/async_race.38682.pass.cpp @@ -11,7 +11,7 @@ // There's currently no release of OS X whose dylib contains the patch for // PR38682. Since the fix for future<void> is in the dylib, this test may fail. -// UNSUPPORTED: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// UNSUPPORTED: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} // This test is designed to cause and allow TSAN to detect a race condition // in std::async, as reported in https://llvm.org/PR38682. diff --git a/libcxx/test/std/thread/futures/futures.future_error/what.pass.cpp b/libcxx/test/std/thread/futures/futures.future_error/what.pass.cpp index 2e971a940c509..05781c24e45b5 100644 --- a/libcxx/test/std/thread/futures/futures.future_error/what.pass.cpp +++ b/libcxx/test/std/thread/futures/futures.future_error/what.pass.cpp @@ -11,7 +11,7 @@ // LWG 2056 changed the values of future_errc, so if we're using new headers // with an old library we'll get incorrect messages. // -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11}} // VC Runtime's std::exception::what() method is not marked as noexcept, so // this fails. diff --git a/libcxx/test/std/thread/thread.condition/notify_all_at_thread_exit_lwg3343.pass.cpp b/libcxx/test/std/thread/thread.condition/notify_all_at_thread_exit_lwg3343.pass.cpp index 4c8ba829ce685..c1c1ab0ef4e8d 100644 --- a/libcxx/test/std/thread/thread.condition/notify_all_at_thread_exit_lwg3343.pass.cpp +++ b/libcxx/test/std/thread/thread.condition/notify_all_at_thread_exit_lwg3343.pass.cpp @@ -14,8 +14,8 @@ // The fix of LWG3343 is done in the dylib. That means Apple backdeployment // targets remain broken. Due to the nature of the test, testing on a broken // system does not guarantee that the test fails, so the test can't use XFAIL. -// UNSUPPORTED: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{.+}} -// UNSUPPORTED: stdlib=apple-libc++ && target={{.+}}-apple-macosx11.{{.+}} +// UNSUPPORTED: stdlib=system && target={{.+}}-apple-macosx10.{{.+}} +// UNSUPPORTED: stdlib=system && target={{.+}}-apple-macosx11.{{.+}} // This is a regression test for LWG3343. // diff --git a/libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp b/libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp index c928ba24f1bfe..59cddd406374e 100644 --- a/libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp +++ b/libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp @@ -11,7 +11,7 @@ // Aligned allocations are not supported on macOS < 10.13 // Note: use 'unsupported' instead of 'xfail' to ensure // we won't pass prior to c++17. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12}} // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml index 4bacdec8f8d6b..71d211bfc287d 100644 --- a/libcxx/utils/ci/buildkite-pipeline.yml +++ b/libcxx/utils/ci/buildkite-pipeline.yml @@ -89,8 +89,8 @@ steps: <<: *common # Build with the configuration we use to generate libc++.dylib on Apple platforms - - label: Apple system - command: libcxx/utils/ci/run-buildbot apple-system + - label: Apple system configuration + command: libcxx/utils/ci/run-buildbot apple-configuration agents: queue: libcxx-builders os: macos diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot index e40c2b635ef90..da1c748f1d094 100755 --- a/libcxx/utils/ci/run-buildbot +++ b/libcxx/utils/ci/run-buildbot @@ -514,7 +514,7 @@ generic-optimized-speed) generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-optimized-speed.cmake" check-runtimes ;; -apple-system) +apple-configuration) clean arch="$(uname -m)" diff --git a/libcxx/utils/libcxx/test/features.py b/libcxx/utils/libcxx/test/features.py index 7a9631a56e4bb..d54c631593f9d 100644 --- a/libcxx/utils/libcxx/test/features.py +++ b/libcxx/utils/libcxx/test/features.py @@ -591,7 +591,7 @@ def check_gdb(cfg): # markup, where we want to make sure that using the annotated facility on a deployment # target that doesn't support it will fail at compile time, not at runtime. This can # be achieved by creating a `.verify.cpp` test that checks for the right errors, and -# mark that test as requiring `stdlib=<vendor>-libc++ && target=<target>`. +# mark that test as requiring `stdlib=system && target=<target>`. # # Since it is not always known which deployment target to pick there are # short-hands based on the LLVM version like using-built-library-before-llvm-xx. @@ -603,14 +603,14 @@ def check_gdb(cfg): Feature( name="using-built-library-before-llvm-11", when=lambda cfg: BooleanExpression.evaluate( - "stdlib=apple-libc++ && target={{.+}}-apple-macosx{{(10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0)(.0)?}}", + "stdlib=system && target={{.+}}-apple-macosx{{(10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0)(.0)?}}", cfg.available_features, ), ), Feature( name="using-built-library-before-llvm-12", when=lambda cfg: BooleanExpression.evaluate( - "using-built-library-before-llvm-11 || (stdlib=apple-libc++ && target={{.+}}-apple-macosx12.{{(0|1|2)}}.0)", + "using-built-library-before-llvm-11 || (stdlib=system && target={{.+}}-apple-macosx12.{{(0|1|2)}}.0)", cfg.available_features, ), ), @@ -618,7 +618,7 @@ def check_gdb(cfg): Feature( name="using-built-library-before-llvm-13", when=lambda cfg: BooleanExpression.evaluate( - "using-built-library-before-llvm-12 || (stdlib=apple-libc++ && target={{.+}}-apple-macosx{{((12.(3|4|5|6|7))|(13.(0|1|2|3)))}}.0)", + "using-built-library-before-llvm-12 || (stdlib=system && target={{.+}}-apple-macosx{{((12.(3|4|5|6|7))|(13.(0|1|2|3)))}}.0)", cfg.available_features, ), ), @@ -634,7 +634,7 @@ def check_gdb(cfg): Feature( name="using-built-library-before-llvm-15", when=lambda cfg: BooleanExpression.evaluate( - "using-built-library-before-llvm-14 || (stdlib=apple-libc++ && target={{.+}}-apple-macosx13.{{(4|5|6)}}.0)", + "using-built-library-before-llvm-14 || (stdlib=system && target={{.+}}-apple-macosx13.{{(4|5|6)}}.0)", cfg.available_features, ), ), @@ -642,7 +642,7 @@ def check_gdb(cfg): Feature( name="using-built-library-before-llvm-16", when=lambda cfg: BooleanExpression.evaluate( - "using-built-library-before-llvm-15 || (stdlib=apple-libc++ && target={{.+}}-apple-macosx14.{{(0|1|2|3)}}.0)", + "using-built-library-before-llvm-15 || (stdlib=system && target={{.+}}-apple-macosx14.{{(0|1|2|3)}}.0)", cfg.available_features, ), ), @@ -660,7 +660,7 @@ def check_gdb(cfg): when=lambda cfg: BooleanExpression.evaluate( # For now, no released version of macOS contains LLVM 18 # TODO(ldionne) Please provide the correct value. - "using-built-library-before-llvm-17 || stdlib=apple-libc++ && target={{.+}}-apple-macosx{{.+}}", + "using-built-library-before-llvm-17 || stdlib=system && target={{.+}}-apple-macosx{{.+}}", cfg.available_features, ), ), @@ -670,7 +670,7 @@ def check_gdb(cfg): when=lambda cfg: BooleanExpression.evaluate( # For now, no released version of macOS contains LLVM 19 # TODO(ldionne) Please provide the correct value. - "using-built-library-before-llvm-18 || stdlib=apple-libc++ && target={{.+}}-apple-macosx{{.+}}", + "using-built-library-before-llvm-18 || stdlib=system && target={{.+}}-apple-macosx{{.+}}", cfg.available_features, ), ), diff --git a/libcxx/utils/libcxx/test/params.py b/libcxx/utils/libcxx/test/params.py index 4c8590a2135d9..0e443ae52918b 100644 --- a/libcxx/utils/libcxx/test/params.py +++ b/libcxx/utils/libcxx/test/params.py @@ -264,6 +264,19 @@ def getSuitableClangTidy(cfg): ], ), ), + Parameter( + name="using-system-stdlib", + choices=[True, False], + type=bool, + default=False, + help="""Whether the Standard Library being tested is the one that shipped with the system by default. + + This is different from the 'stdlib' parameter, which describes the flavor of libc++ being + tested. 'using-system-stdlib' describes whether the target system passed with 'target_triple' + also corresponds to the version of the library being tested. + """, + actions=lambda is_system: [AddFeature("stdlib=system")] if is_system else [], + ), Parameter( name="enable_warnings", choices=[True, False], diff --git a/libcxxabi/test/catch_function_01.pass.cpp b/libcxxabi/test/catch_function_01.pass.cpp index 750af346ab282..4ca42f8bd7a41 100644 --- a/libcxxabi/test/catch_function_01.pass.cpp +++ b/libcxxabi/test/catch_function_01.pass.cpp @@ -14,7 +14,7 @@ // UNSUPPORTED: no-exceptions // 65ace9daa360 made it in the dylib in macOS 10.11 -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10}} #include <cassert> diff --git a/libcxxabi/test/catch_function_03.pass.cpp b/libcxxabi/test/catch_function_03.pass.cpp index e353d0e71c064..3f9e4fcb2e02a 100644 --- a/libcxxabi/test/catch_function_03.pass.cpp +++ b/libcxxabi/test/catch_function_03.pass.cpp @@ -11,7 +11,7 @@ // UNSUPPORTED: no-exceptions // Support for catching a function pointer including noexcept was shipped in macOS 10.13 -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12}} #include <cassert> diff --git a/libcxxabi/test/catch_member_data_pointer_01.pass.cpp b/libcxxabi/test/catch_member_data_pointer_01.pass.cpp index 5e5fb60f61b6e..86313cec014c8 100644 --- a/libcxxabi/test/catch_member_data_pointer_01.pass.cpp +++ b/libcxxabi/test/catch_member_data_pointer_01.pass.cpp @@ -9,7 +9,7 @@ // UNSUPPORTED: no-exceptions // 1b00fc5d8133 made it in the dylib in macOS 10.11 -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10}} #include <cassert> diff --git a/libcxxabi/test/catch_member_function_pointer_02.pass.cpp b/libcxxabi/test/catch_member_function_pointer_02.pass.cpp index b4b8ce8234990..9e6790b0abfb1 100644 --- a/libcxxabi/test/catch_member_function_pointer_02.pass.cpp +++ b/libcxxabi/test/catch_member_function_pointer_02.pass.cpp @@ -11,7 +11,7 @@ // UNSUPPORTED: no-exceptions // Support for catching a function pointer including noexcept was shipped in macOS 10.13 -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12}} // GCC supports noexcept function types but this test still fails. // This is likely a bug in their implementation. Investigation needed. diff --git a/libcxxabi/test/catch_member_pointer_nullptr.pass.cpp b/libcxxabi/test/catch_member_pointer_nullptr.pass.cpp index 70d3afc7c75e7..a476386f6db84 100644 --- a/libcxxabi/test/catch_member_pointer_nullptr.pass.cpp +++ b/libcxxabi/test/catch_member_pointer_nullptr.pass.cpp @@ -8,7 +8,7 @@ // Catching an exception thrown as nullptr was not properly handled before // 2f984cab4fa7, which landed in macOS 10.13 -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12}} // UNSUPPORTED: no-exceptions diff --git a/libcxxabi/test/catch_multi_level_pointer.pass.cpp b/libcxxabi/test/catch_multi_level_pointer.pass.cpp index 5f0e78a391b14..244056871855c 100644 --- a/libcxxabi/test/catch_multi_level_pointer.pass.cpp +++ b/libcxxabi/test/catch_multi_level_pointer.pass.cpp @@ -9,7 +9,7 @@ // UNSUPPORTED: no-exceptions // 1b00fc5d8133 made it in the dylib in macOS 10.11 -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10}} // mps2-an385 machine used for testing of picolibc has just 4 MB of "flash" // memory and this test requires almost 5 MB diff --git a/libcxxabi/test/catch_null_pointer_to_object_pr64953.pass.cpp b/libcxxabi/test/catch_null_pointer_to_object_pr64953.pass.cpp index 82ce0c5803099..d0f719685da75 100644 --- a/libcxxabi/test/catch_null_pointer_to_object_pr64953.pass.cpp +++ b/libcxxabi/test/catch_null_pointer_to_object_pr64953.pass.cpp @@ -34,8 +34,8 @@ // XPASS here so that we have to make these UNSUPPORTED for now (they should be // XFAILs when tested against current [macOS14] and previous installed libc++abi // as described above). -// UNSUPPORTED: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14|15}}{{.*}} -// UNSUPPORTED: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{11|12|13|14}}{{.*}} +// UNSUPPORTED: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14|15}}{{.*}} +// UNSUPPORTED: stdlib=system && target={{.+}}-apple-macosx{{11|12|13|14}}{{.*}} #include <exception> #include <stdlib.h> diff --git a/libcxxabi/test/catch_pointer_nullptr.pass.cpp b/libcxxabi/test/catch_pointer_nullptr.pass.cpp index 29398f05d7e89..473a703988bcf 100644 --- a/libcxxabi/test/catch_pointer_nullptr.pass.cpp +++ b/libcxxabi/test/catch_pointer_nullptr.pass.cpp @@ -8,7 +8,7 @@ // Catching an exception thrown as nullptr was not properly handled before // 2f984cab4fa7, which landed in macOS 10.13 -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12}} // UNSUPPORTED: c++03 // UNSUPPORTED: no-exceptions diff --git a/libcxxabi/test/catch_ptr_02.pass.cpp b/libcxxabi/test/catch_ptr_02.pass.cpp index c7ef28a976f88..2b22ad71b5a04 100644 --- a/libcxxabi/test/catch_ptr_02.pass.cpp +++ b/libcxxabi/test/catch_ptr_02.pass.cpp @@ -14,7 +14,7 @@ // ADDITIONAL_COMPILE_FLAGS: -Wno-exceptions // The fix for PR17222 made it in the dylib for macOS 10.10 -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.9 +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.9 #include <cassert> #include <stdint.h> diff --git a/libcxxabi/test/configs/apple-libc++abi-backdeployment.cfg.in b/libcxxabi/test/configs/apple-libc++abi-backdeployment.cfg.in index 2e9472163b9d5..9e725c523f29b 100644 --- a/libcxxabi/test/configs/apple-libc++abi-backdeployment.cfg.in +++ b/libcxxabi/test/configs/apple-libc++abi-backdeployment.cfg.in @@ -56,6 +56,7 @@ config.substitutions.append(('%{exec}', )) config.stdlib = 'apple-libc++' +config.using_system_stdlib = True libcxx.test.config.configure( libcxx.test.params.DEFAULT_PARAMETERS + BACKDEPLOYMENT_PARAMETERS, diff --git a/libcxxabi/test/cxa_vec_new_overflow_PR41395.pass.cpp b/libcxxabi/test/cxa_vec_new_overflow_PR41395.pass.cpp index a4a2bbd99e6e2..c013327f7b751 100644 --- a/libcxxabi/test/cxa_vec_new_overflow_PR41395.pass.cpp +++ b/libcxxabi/test/cxa_vec_new_overflow_PR41395.pass.cpp @@ -9,7 +9,7 @@ // UNSUPPORTED: no-exceptions // PR41395 isn't fixed until the dylib shipped with macOS 10.15 -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} #include "cxxabi.h" #include <new> diff --git a/libcxxabi/test/dynamic_cast.pass.cpp b/libcxxabi/test/dynamic_cast.pass.cpp index 6b97afb553b3c..19d5aab454c55 100644 --- a/libcxxabi/test/dynamic_cast.pass.cpp +++ b/libcxxabi/test/dynamic_cast.pass.cpp @@ -7,10 +7,10 @@ //===----------------------------------------------------------------------===// // PR33425 and PR33487 are not fixed until the dylib shipped with macOS 10.15 -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.14 +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.14 // PR33439 isn't fixed until the dylib shipped with macOS 10.14 -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13}} #include <cassert> diff --git a/libcxxabi/test/exception_object_alignment.pass.cpp b/libcxxabi/test/exception_object_alignment.pass.cpp index f0d49faf6ee0b..9de59b96d9a35 100644 --- a/libcxxabi/test/exception_object_alignment.pass.cpp +++ b/libcxxabi/test/exception_object_alignment.pass.cpp @@ -12,7 +12,7 @@ // before macOS 10.14. The test fails on macOS 10.9 to 10.12, passes on macOS // 10.13 (no investigation done), and passes afterwards. Just mark all the OSes // before 10.14 as unsupported. -// UNSUPPORTED: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13}} +// UNSUPPORTED: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13}} // Check that the pointer __cxa_allocate_exception returns is aligned to the // default alignment for the target architecture. diff --git a/libcxxabi/test/forced_unwind1.pass.cpp b/libcxxabi/test/forced_unwind1.pass.cpp index 1e94eb971be08..cb14fcf71bb89 100644 --- a/libcxxabi/test/forced_unwind1.pass.cpp +++ b/libcxxabi/test/forced_unwind1.pass.cpp @@ -15,8 +15,8 @@ // UNSUPPORTED: target={{ve-.*}} // These tests fail on previously released dylibs, investigation needed. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14|15}} -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{11.0|12.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14|15}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{11.0|12.0}} #include <stdlib.h> #include <string.h> diff --git a/libcxxabi/test/forced_unwind2.pass.cpp b/libcxxabi/test/forced_unwind2.pass.cpp index 65f5d5dd2e05c..6ec27e4a65557 100644 --- a/libcxxabi/test/forced_unwind2.pass.cpp +++ b/libcxxabi/test/forced_unwind2.pass.cpp @@ -14,8 +14,8 @@ // UNSUPPORTED: target={{ve-.*}} // These tests fail on previously released dylibs, investigation needed. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14|15}} -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{11.0|12.0}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14|15}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{11.0|12.0}} #include <exception> #include <stdlib.h> diff --git a/libcxxabi/test/incomplete_type.sh.cpp b/libcxxabi/test/incomplete_type.sh.cpp index fbe6f0366e8e8..fc26227b8bdc5 100644 --- a/libcxxabi/test/incomplete_type.sh.cpp +++ b/libcxxabi/test/incomplete_type.sh.cpp @@ -17,7 +17,7 @@ // UNSUPPORTED: no-rtti // The fix for PR25898 landed in the system dylibs in macOS 10.13 -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12}} // RUN: %{cxx} %{flags} %{compile_flags} -Wno-unreachable-code -c %s -o %t.one.o // RUN: %{cxx} %{flags} %{compile_flags} -Wno-unreachable-code -c %s -o %t.two.o -DTU_ONE diff --git a/libcxxabi/test/test_aux_runtime_op_array_new.pass.cpp b/libcxxabi/test/test_aux_runtime_op_array_new.pass.cpp index f29a64b0c8fe4..b65d8b5d33929 100644 --- a/libcxxabi/test/test_aux_runtime_op_array_new.pass.cpp +++ b/libcxxabi/test/test_aux_runtime_op_array_new.pass.cpp @@ -10,7 +10,7 @@ // ___cxa_throw_bad_array_new_length is re-exported from libc++ only starting // in macosx 10.15 -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} #include <cxxabi.h> #include <new> diff --git a/libcxxabi/test/test_demangle.pass.cpp b/libcxxabi/test/test_demangle.pass.cpp index 88637b84de016..1435c879d383d 100644 --- a/libcxxabi/test/test_demangle.pass.cpp +++ b/libcxxabi/test/test_demangle.pass.cpp @@ -7,15 +7,15 @@ //===----------------------------------------------------------------------===// // The demangler does not pass all these tests with the system dylibs on macOS. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14|15}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14|15}} // This test is too big for most embedded devices. // XFAIL: LIBCXX-PICOLIBC-FIXME // https://llvm.org/PR51407 was not fixed in some previously-released // demanglers, which causes them to run into the infinite loop. -// UNSUPPORTED: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14|15}} -// UNSUPPORTED: stdlib=apple-libc++ && target={{.+}}-apple-macosx11.0 +// UNSUPPORTED: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14|15}} +// UNSUPPORTED: stdlib=system && target={{.+}}-apple-macosx11.0 // Android's long double on x86[-64] is (64/128)-bits instead of Linux's usual // 80-bit format, and this demangling test is failing on it. diff --git a/libcxxabi/test/test_exception_address_alignment.pass.cpp b/libcxxabi/test/test_exception_address_alignment.pass.cpp index 62999134b3fd3..80d42854c87b7 100644 --- a/libcxxabi/test/test_exception_address_alignment.pass.cpp +++ b/libcxxabi/test/test_exception_address_alignment.pass.cpp @@ -13,7 +13,7 @@ // an incorrectly aligned _Unwind_Exception type on non-ARM. That causes these // tests to fail when running against a system libc++abi and libunwind that was // compiled with an incorrect definition of _Unwind_Exception. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12}} // Test that the address of the exception object is properly aligned as required // by the relevant ABI diff --git a/libcxxabi/test/uncaught_exception.pass.cpp b/libcxxabi/test/uncaught_exception.pass.cpp index 9087059aeba54..54882862e7285 100644 --- a/libcxxabi/test/uncaught_exception.pass.cpp +++ b/libcxxabi/test/uncaught_exception.pass.cpp @@ -15,8 +15,8 @@ // to undefined symbols when linking against a libc++ that re-exports the symbols, // but running against a libc++ that doesn't. Fortunately, usage of __cxa_uncaught_exception() // in the wild seems to be close to non-existent. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14|15}} -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx{{(11|12|13|14)([.][0-9]+)?}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14|15}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx{{(11|12|13|14)([.][0-9]+)?}} #include <cxxabi.h> #include <cassert> diff --git a/libcxxabi/test/uncaught_exceptions.pass.cpp b/libcxxabi/test/uncaught_exceptions.pass.cpp index bd679e7abc1f8..cf76dc12e5e79 100644 --- a/libcxxabi/test/uncaught_exceptions.pass.cpp +++ b/libcxxabi/test/uncaught_exceptions.pass.cpp @@ -9,7 +9,7 @@ // UNSUPPORTED: no-exceptions // __cxa_uncaught_exceptions is not re-exported from libc++ until macOS 10.15. -// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} +// XFAIL: stdlib=system && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}} #include <cxxabi.h> #include <cassert> diff --git a/libunwind/test/configs/apple-libunwind-backdeployment.cfg.in b/libunwind/test/configs/apple-libunwind-backdeployment.cfg.in index 4484573801bd2..013c43ae78001 100644 --- a/libunwind/test/configs/apple-libunwind-backdeployment.cfg.in +++ b/libunwind/test/configs/apple-libunwind-backdeployment.cfg.in @@ -55,6 +55,7 @@ config.substitutions.append(('%{exec}', )) config.stdlib = 'apple-libc++' +config.using_system_stdlib = True import os, site import libcxx.test.params, libcxx.test.config diff --git a/libunwind/test/libunwind_01.pass.cpp b/libunwind/test/libunwind_01.pass.cpp index 96f12d1fc3937..838df6b589720 100644 --- a/libunwind/test/libunwind_01.pass.cpp +++ b/libunwind/test/libunwind_01.pass.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // TODO: Investigate this failure on x86_64 macOS back deployment -// XFAIL: stdlib=apple-libc++ && target=x86_64-apple-macosx{{10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0|12.0}} +// XFAIL: stdlib=system && target=x86_64-apple-macosx{{10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0|12.0}} // TODO: Figure out why this fails with Memory Sanitizer. // XFAIL: msan _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits