[libcxx] r347580 - [libcxx] Fix XFAIL for aligned deallocation test with trunk Clang

Louis Dionne ldionne at apple.com
Mon Nov 26 09:47:16 PST 2018

Author: ldionne
Date: Mon Nov 26 09:47:16 2018
New Revision: 347580

URL: http://llvm.org/viewvc/llvm-project?rev=347580&view=rev
[libcxx] Fix XFAIL for aligned deallocation test with trunk Clang

The test was marked as failing whenever the deployment target was 10.12
or older, but in reality the test passes when the deployment target is
10.12 on recent Clangs. This happens because only older clangs do not
honor the -faligned-allocation flag, which disables any availability
error related to aligned allocation support, regardless of the
deployment target.


Modified: libcxx/trunk/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp?rev=347580&r1=347579&r2=347580&view=diff
--- libcxx/trunk/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp (original)
+++ libcxx/trunk/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp Mon Nov 26 09:47:16 2018
@@ -14,12 +14,21 @@
 // definitions, which does not yet provide aligned allocation
-// XFAIL: with_system_cxx_lib=macosx10.12 || availability=macosx10.12
-// XFAIL: with_system_cxx_lib=macosx10.11 || availability=macosx10.11
-// XFAIL: with_system_cxx_lib=macosx10.10 || availability=macosx10.10
-// XFAIL: with_system_cxx_lib=macosx10.9 || availability=macosx10.9
-// XFAIL: with_system_cxx_lib=macosx10.8 || availability=macosx10.8
-// XFAIL: with_system_cxx_lib=macosx10.7 || availability=macosx10.7
+// Clang 10 (and older) will trigger an availability error when the deployment
+// target does not support aligned allocation, even if we pass `-faligned-allocation`.
+// XFAIL: apple-clang-10 && availability=macosx10.12
+// The dylib shipped with macosx10.12 does not contain the aligned allocation
+// functions, so trying to force using those with -faligned-allocation results
+// in a link error.
+// XFAIL: with_system_cxx_lib=macosx10.12
+// The test will fail on deployment targets that do not support sized deallocation.
+// XFAIL: availability=macosx10.11
+// XFAIL: availability=macosx10.10
+// XFAIL: availability=macosx10.9
+// XFAIL: availability=macosx10.8
+// XFAIL: availability=macosx10.7
 // XFAIL: sanitizer-new-delete, ubsan

More information about the libcxx-commits mailing list