From 7ae4f5c6de936e829f0eb230ec5bc772dd5889fe 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. llvm-svn: 347580 --- .../support.dynamic/libcpp_deallocate.sh.cpp | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp b/libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp index c2a9f50..863f341 100644 --- a/libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp +++ b/libcxx/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 -- 2.7.4