[libcxx] r347585 - [libcxx] Fix XFAILs for aligned allocation tests

Louis Dionne ldionne at apple.com
Mon Nov 26 11:30:08 PST 2018


Author: ldionne
Date: Mon Nov 26 11:30:08 2018
New Revision: 347585

URL: http://llvm.org/viewvc/llvm-project?rev=347585&view=rev
Log:
[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.

Modified:
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp

Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp?rev=347585&r1=347584&r2=347585&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp Mon Nov 26 11:30:08 2018
@@ -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
+// 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
 
-// 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
+// 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

Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp?rev=347585&r1=347584&r2=347585&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp Mon Nov 26 11:30:08 2018
@@ -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
+// 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
 
-// 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
+// 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

Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp?rev=347585&r1=347584&r2=347585&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp Mon Nov 26 11:30:08 2018
@@ -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
+// 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
 
-// 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
+// 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

Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp?rev=347585&r1=347584&r2=347585&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp Mon Nov 26 11:30:08 2018
@@ -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
+// 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
 
-// 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
+// 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
 

Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp?rev=347585&r1=347584&r2=347585&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp Mon Nov 26 11:30:08 2018
@@ -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
+// 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
 
-// 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
+// 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

Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp?rev=347585&r1=347584&r2=347585&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp Mon Nov 26 11:30:08 2018
@@ -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
+// 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
 
-// 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
+// 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

Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp?rev=347585&r1=347584&r2=347585&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp Mon Nov 26 11:30:08 2018
@@ -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
+// 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
 
-// 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
+// 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

Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp?rev=347585&r1=347584&r2=347585&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp Mon Nov 26 11:30:08 2018
@@ -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
+// 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
 
-// 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
+// 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




More information about the libcxx-commits mailing list