From 82940003c74f1fc2693bc6078bd4c5f4f4a5a34c Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Mon, 26 Nov 2018 17:47:16 +0000 Subject: [PATCH] [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. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@347580 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../support.dynamic/libcpp_deallocate.sh.cpp | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp b/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp index c2a9f50f7..863f341b7 100644 --- a/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp +++ b/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp @@ -14,12 +14,21 @@ // definitions, which does not yet provide aligned allocation // XFAIL: LIBCXX-WINDOWS-FIXME -// 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