summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/language.support/support.dynamic
diff options
context:
space:
mode:
authorLouis Dionne <ldionne@apple.com>2018-11-26 19:30:08 +0000
committerLouis Dionne <ldionne@apple.com>2018-11-26 19:30:08 +0000
commit94104b1b6b6b3847a1546a431ad772f18cd6aa7f (patch)
treefc2c0393b062b7e64ef76800fbbf234a770ff466 /libcxx/test/std/language.support/support.dynamic
parent30c804bbb16f56f8633e9c7b44db593ae3c1a166 (diff)
downloadbcm5719-llvm-94104b1b6b6b3847a1546a431ad772f18cd6aa7f.tar.gz
bcm5719-llvm-94104b1b6b6b3847a1546a431ad772f18cd6aa7f.zip
[libcxx] Fix XFAILs for aligned allocation tests
In r339743, I marked several aligned allocation tests as downright unsupported on macosx in an attempt to unbreak the build. It turns out that marking them as unuspported whenever we're on OS X is way too coarse grained. This commit marks the tests as XFAIL with more granularity. llvm-svn: 347585
Diffstat (limited to 'libcxx/test/std/language.support/support.dynamic')
-rw-r--r--libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp35
-rw-r--r--libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp35
-rw-r--r--libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp35
-rw-r--r--libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp37
-rw-r--r--libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp35
-rw-r--r--libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp35
-rw-r--r--libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp35
-rw-r--r--libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp37
8 files changed, 152 insertions, 132 deletions
diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp
index 52aeea314dd..87c0cf35ff6 100644
--- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp
+++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp
@@ -17,22 +17,25 @@
// None of the current GCC compilers support this.
// UNSUPPORTED: gcc-5, gcc-6
-// dylibs shipped before macosx10.13 do not provide aligned allocation, so that's a link error
-// UNSUPPORTED: with_system_cxx_lib=macosx10.12
-// UNSUPPORTED: with_system_cxx_lib=macosx10.11
-// UNSUPPORTED: with_system_cxx_lib=macosx10.10
-// UNSUPPORTED: with_system_cxx_lib=macosx10.9
-// UNSUPPORTED: with_system_cxx_lib=macosx10.8
-// UNSUPPORTED: with_system_cxx_lib=macosx10.7
-
-// Using aligned allocation functions is a compiler error when deploying to
-// platforms older than macosx10.13
-// UNSUPPORTED: macosx10.12
-// UNSUPPORTED: macosx10.11
-// UNSUPPORTED: macosx10.10
-// UNSUPPORTED: macosx10.9
-// UNSUPPORTED: macosx10.8
-// UNSUPPORTED: macosx10.7
+// Aligned allocation was not provided before macosx10.12 and as a result we
+// get availability errors when the deployment target is older than macosx10.13.
+// However, AppleClang 10 (and older) don't trigger availability errors.
+// XFAIL: !apple-clang-10 && availability=macosx10.12
+// XFAIL: !apple-clang-10 && availability=macosx10.11
+// XFAIL: !apple-clang-10 && availability=macosx10.10
+// XFAIL: !apple-clang-10 && availability=macosx10.9
+// XFAIL: !apple-clang-10 && availability=macosx10.8
+// XFAIL: !apple-clang-10 && availability=macosx10.7
+
+// On AppleClang 10 (and older), instead of getting an availability failure
+// like above, we get a link error when we link against a dylib that does
+// not export the aligned allocation functions.
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.12
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.11
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.10
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.9
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.8
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.7
// On Windows libc++ doesn't provide its own definitions for new/delete
// but instead depends on the ones in VCRuntime. However VCRuntime does not
diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp
index 1d20b33a0df..df2db2afceb 100644
--- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp
+++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp
@@ -15,22 +15,25 @@
// FIXME change this to XFAIL.
// UNSUPPORTED: no-aligned-allocation && !gcc
-// dylibs shipped before macosx10.13 do not provide aligned allocation, so that's a link error
-// UNSUPPORTED: with_system_cxx_lib=macosx10.12
-// UNSUPPORTED: with_system_cxx_lib=macosx10.11
-// UNSUPPORTED: with_system_cxx_lib=macosx10.10
-// UNSUPPORTED: with_system_cxx_lib=macosx10.9
-// UNSUPPORTED: with_system_cxx_lib=macosx10.8
-// UNSUPPORTED: with_system_cxx_lib=macosx10.7
-
-// Using aligned allocation functions is a compiler error when deploying to
-// platforms older than macosx10.13
-// UNSUPPORTED: macosx10.12
-// UNSUPPORTED: macosx10.11
-// UNSUPPORTED: macosx10.10
-// UNSUPPORTED: macosx10.9
-// UNSUPPORTED: macosx10.8
-// UNSUPPORTED: macosx10.7
+// Aligned allocation was not provided before macosx10.12 and as a result we
+// get availability errors when the deployment target is older than macosx10.13.
+// However, AppleClang 10 (and older) don't trigger availability errors.
+// XFAIL: !apple-clang-10 && availability=macosx10.12
+// XFAIL: !apple-clang-10 && availability=macosx10.11
+// XFAIL: !apple-clang-10 && availability=macosx10.10
+// XFAIL: !apple-clang-10 && availability=macosx10.9
+// XFAIL: !apple-clang-10 && availability=macosx10.8
+// XFAIL: !apple-clang-10 && availability=macosx10.7
+
+// On AppleClang 10 (and older), instead of getting an availability failure
+// like above, we get a link error when we link against a dylib that does
+// not export the aligned allocation functions.
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.12
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.11
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.10
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.9
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.8
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.7
// On Windows libc++ doesn't provide its own definitions for new/delete
// but instead depends on the ones in VCRuntime. However VCRuntime does not
diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp
index 60ebdd8e945..cf51b971401 100644
--- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp
+++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp
@@ -15,22 +15,25 @@
// FIXME turn this into an XFAIL
// UNSUPPORTED: no-aligned-allocation && !gcc
-// dylibs shipped before macosx10.13 do not provide aligned allocation, so that's a link error
-// UNSUPPORTED: with_system_cxx_lib=macosx10.12
-// UNSUPPORTED: with_system_cxx_lib=macosx10.11
-// UNSUPPORTED: with_system_cxx_lib=macosx10.10
-// UNSUPPORTED: with_system_cxx_lib=macosx10.9
-// UNSUPPORTED: with_system_cxx_lib=macosx10.8
-// UNSUPPORTED: with_system_cxx_lib=macosx10.7
-
-// Using aligned allocation functions is a compiler error when deploying to
-// platforms older than macosx10.13
-// UNSUPPORTED: macosx10.12
-// UNSUPPORTED: macosx10.11
-// UNSUPPORTED: macosx10.10
-// UNSUPPORTED: macosx10.9
-// UNSUPPORTED: macosx10.8
-// UNSUPPORTED: macosx10.7
+// Aligned allocation was not provided before macosx10.12 and as a result we
+// get availability errors when the deployment target is older than macosx10.13.
+// However, AppleClang 10 (and older) don't trigger availability errors.
+// XFAIL: !apple-clang-10 && availability=macosx10.12
+// XFAIL: !apple-clang-10 && availability=macosx10.11
+// XFAIL: !apple-clang-10 && availability=macosx10.10
+// XFAIL: !apple-clang-10 && availability=macosx10.9
+// XFAIL: !apple-clang-10 && availability=macosx10.8
+// XFAIL: !apple-clang-10 && availability=macosx10.7
+
+// On AppleClang 10 (and older), instead of getting an availability failure
+// like above, we get a link error when we link against a dylib that does
+// not export the aligned allocation functions.
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.12
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.11
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.10
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.9
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.8
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.7
// On Windows libc++ doesn't provide its own definitions for new/delete
// but instead depends on the ones in VCRuntime. However VCRuntime does not
diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp
index b09316487f9..f463bc7575b 100644
--- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp
+++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp
@@ -10,24 +10,25 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
// UNSUPPORTED: sanitizer-new-delete
-// dylibs shipped before macosx10.13 do not provide aligned allocation, so our
-// custom aligned allocation functions are not called and the test fails
-// UNSUPPORTED: with_system_cxx_lib=macosx10.12
-// UNSUPPORTED: with_system_cxx_lib=macosx10.11
-// UNSUPPORTED: with_system_cxx_lib=macosx10.10
-// UNSUPPORTED: with_system_cxx_lib=macosx10.9
-// UNSUPPORTED: with_system_cxx_lib=macosx10.8
-// UNSUPPORTED: with_system_cxx_lib=macosx10.7
-
-// Our custom aligned allocation functions are not called when deploying to
-// platforms older than macosx10.13, since those platforms don't support
-// aligned allocation.
-// UNSUPPORTED: macosx10.12
-// UNSUPPORTED: macosx10.11
-// UNSUPPORTED: macosx10.10
-// UNSUPPORTED: macosx10.9
-// UNSUPPORTED: macosx10.8
-// UNSUPPORTED: macosx10.7
+// Aligned allocation was not provided before macosx10.12 and as a result we
+// get availability errors when the deployment target is older than macosx10.13.
+// However, AppleClang 10 (and older) don't trigger availability errors.
+// XFAIL: !apple-clang-10 && availability=macosx10.12
+// XFAIL: !apple-clang-10 && availability=macosx10.11
+// XFAIL: !apple-clang-10 && availability=macosx10.10
+// XFAIL: !apple-clang-10 && availability=macosx10.9
+// XFAIL: !apple-clang-10 && availability=macosx10.8
+// XFAIL: !apple-clang-10 && availability=macosx10.7
+
+// On AppleClang 10 (and older), instead of getting an availability failure
+// like above, we get a link error when we link against a dylib that does
+// not export the aligned allocation functions.
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.12
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.11
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.10
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.9
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.8
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.7
// XFAIL: no-aligned-allocation && !gcc
diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp
index 5885218c466..36349a42470 100644
--- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp
+++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp
@@ -16,22 +16,25 @@
// None of the current GCC compilers support this.
// UNSUPPORTED: gcc-5, gcc-6
-// dylibs shipped before macosx10.13 do not provide aligned allocation, so that's a link error
-// UNSUPPORTED: with_system_cxx_lib=macosx10.12
-// UNSUPPORTED: with_system_cxx_lib=macosx10.11
-// UNSUPPORTED: with_system_cxx_lib=macosx10.10
-// UNSUPPORTED: with_system_cxx_lib=macosx10.9
-// UNSUPPORTED: with_system_cxx_lib=macosx10.8
-// UNSUPPORTED: with_system_cxx_lib=macosx10.7
-
-// Using aligned allocation functions is a compiler error when deploying to
-// platforms older than macosx10.13
-// UNSUPPORTED: macosx10.12
-// UNSUPPORTED: macosx10.11
-// UNSUPPORTED: macosx10.10
-// UNSUPPORTED: macosx10.9
-// UNSUPPORTED: macosx10.8
-// UNSUPPORTED: macosx10.7
+// Aligned allocation was not provided before macosx10.12 and as a result we
+// get availability errors when the deployment target is older than macosx10.13.
+// However, AppleClang 10 (and older) don't trigger availability errors.
+// XFAIL: !apple-clang-10 && availability=macosx10.12
+// XFAIL: !apple-clang-10 && availability=macosx10.11
+// XFAIL: !apple-clang-10 && availability=macosx10.10
+// XFAIL: !apple-clang-10 && availability=macosx10.9
+// XFAIL: !apple-clang-10 && availability=macosx10.8
+// XFAIL: !apple-clang-10 && availability=macosx10.7
+
+// On AppleClang 10 (and older), instead of getting an availability failure
+// like above, we get a link error when we link against a dylib that does
+// not export the aligned allocation functions.
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.12
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.11
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.10
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.9
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.8
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.7
// On Windows libc++ doesn't provide its own definitions for new/delete
// but instead depends on the ones in VCRuntime. However VCRuntime does not
diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp
index 52db4c56ced..754132707e1 100644
--- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp
+++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp
@@ -9,22 +9,25 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// dylibs shipped before macosx10.13 do not provide aligned allocation, so that's a link error
-// UNSUPPORTED: with_system_cxx_lib=macosx10.12
-// UNSUPPORTED: with_system_cxx_lib=macosx10.11
-// UNSUPPORTED: with_system_cxx_lib=macosx10.10
-// UNSUPPORTED: with_system_cxx_lib=macosx10.9
-// UNSUPPORTED: with_system_cxx_lib=macosx10.8
-// UNSUPPORTED: with_system_cxx_lib=macosx10.7
-
-// Using aligned allocation functions is a compiler error when deploying to
-// platforms older than macosx10.13
-// UNSUPPORTED: macosx10.12
-// UNSUPPORTED: macosx10.11
-// UNSUPPORTED: macosx10.10
-// UNSUPPORTED: macosx10.9
-// UNSUPPORTED: macosx10.8
-// UNSUPPORTED: macosx10.7
+// Aligned allocation was not provided before macosx10.12 and as a result we
+// get availability errors when the deployment target is older than macosx10.13.
+// However, AppleClang 10 (and older) don't trigger availability errors.
+// XFAIL: !apple-clang-10 && availability=macosx10.12
+// XFAIL: !apple-clang-10 && availability=macosx10.11
+// XFAIL: !apple-clang-10 && availability=macosx10.10
+// XFAIL: !apple-clang-10 && availability=macosx10.9
+// XFAIL: !apple-clang-10 && availability=macosx10.8
+// XFAIL: !apple-clang-10 && availability=macosx10.7
+
+// On AppleClang 10 (and older), instead of getting an availability failure
+// like above, we get a link error when we link against a dylib that does
+// not export the aligned allocation functions.
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.12
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.11
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.10
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.9
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.8
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.7
// asan and msan will not call the new handler.
// UNSUPPORTED: sanitizer-new-delete
diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp
index a5e40a0d28c..cfd225d7ce1 100644
--- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp
+++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp
@@ -9,22 +9,25 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// dylibs shipped before macosx10.13 do not provide aligned allocation, so that's a link error
-// UNSUPPORTED: with_system_cxx_lib=macosx10.12
-// UNSUPPORTED: with_system_cxx_lib=macosx10.11
-// UNSUPPORTED: with_system_cxx_lib=macosx10.10
-// UNSUPPORTED: with_system_cxx_lib=macosx10.9
-// UNSUPPORTED: with_system_cxx_lib=macosx10.8
-// UNSUPPORTED: with_system_cxx_lib=macosx10.7
-
-// Using aligned allocation functions is a compiler error when deploying to
-// platforms older than macosx10.13
-// UNSUPPORTED: macosx10.12
-// UNSUPPORTED: macosx10.11
-// UNSUPPORTED: macosx10.10
-// UNSUPPORTED: macosx10.9
-// UNSUPPORTED: macosx10.8
-// UNSUPPORTED: macosx10.7
+// Aligned allocation was not provided before macosx10.12 and as a result we
+// get availability errors when the deployment target is older than macosx10.13.
+// However, AppleClang 10 (and older) don't trigger availability errors.
+// XFAIL: !apple-clang-10 && availability=macosx10.12
+// XFAIL: !apple-clang-10 && availability=macosx10.11
+// XFAIL: !apple-clang-10 && availability=macosx10.10
+// XFAIL: !apple-clang-10 && availability=macosx10.9
+// XFAIL: !apple-clang-10 && availability=macosx10.8
+// XFAIL: !apple-clang-10 && availability=macosx10.7
+
+// On AppleClang 10 (and older), instead of getting an availability failure
+// like above, we get a link error when we link against a dylib that does
+// not export the aligned allocation functions.
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.12
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.11
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.10
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.9
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.8
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.7
// asan and msan will not call the new handler.
// UNSUPPORTED: sanitizer-new-delete
diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp
index de1bd8d8205..c47ec4f8c16 100644
--- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp
+++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp
@@ -10,24 +10,25 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
// UNSUPPORTED: sanitizer-new-delete
-// dylibs shipped before macosx10.13 do not provide aligned allocation, so our
-// custom aligned allocation functions are not called and the test fails
-// UNSUPPORTED: with_system_cxx_lib=macosx10.12
-// UNSUPPORTED: with_system_cxx_lib=macosx10.11
-// UNSUPPORTED: with_system_cxx_lib=macosx10.10
-// UNSUPPORTED: with_system_cxx_lib=macosx10.9
-// UNSUPPORTED: with_system_cxx_lib=macosx10.8
-// UNSUPPORTED: with_system_cxx_lib=macosx10.7
-
-// Our custom aligned allocation functions are not called when deploying to
-// platforms older than macosx10.13, since those platforms don't support
-// aligned allocation.
-// UNSUPPORTED: macosx10.12
-// UNSUPPORTED: macosx10.11
-// UNSUPPORTED: macosx10.10
-// UNSUPPORTED: macosx10.9
-// UNSUPPORTED: macosx10.8
-// UNSUPPORTED: macosx10.7
+// Aligned allocation was not provided before macosx10.12 and as a result we
+// get availability errors when the deployment target is older than macosx10.13.
+// However, AppleClang 10 (and older) don't trigger availability errors.
+// XFAIL: !apple-clang-10 && availability=macosx10.12
+// XFAIL: !apple-clang-10 && availability=macosx10.11
+// XFAIL: !apple-clang-10 && availability=macosx10.10
+// XFAIL: !apple-clang-10 && availability=macosx10.9
+// XFAIL: !apple-clang-10 && availability=macosx10.8
+// XFAIL: !apple-clang-10 && availability=macosx10.7
+
+// On AppleClang 10 (and older), instead of getting an availability failure
+// like above, we get a link error when we link against a dylib that does
+// not export the aligned allocation functions.
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.12
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.11
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.10
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.9
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.8
+// XFAIL: apple-clang-10 && with_system_cxx_lib=macosx10.7
// NOTE: gcc doesn't provide -faligned-allocation flag to test for
// XFAIL: no-aligned-allocation && !gcc
OpenPOWER on IntegriCloud