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

Louis Dionne ldionne at apple.com
Thu Dec 6 10:11:33 PST 2018



> On Dec 6, 2018, at 10:50, Hans Wennborg <hans at chromium.org> wrote:
> 
> Hi Louis,
> 
> These tests now fail for us (they're xfailed and unexpectedly pass)
> when building libc++ for Chromium.
> 
> We're building with MACOSX_DEPLOYMENT_TARGET=10.7, with AppleClang
> 9.0.0.9000037. Should the xfail checks be updated to take this into
> account?

Thanks for the heads up and sorry about that. This should be fixed in r348507.

These aligned allocation tests are incredibly tricky because they are unlike any other availability test we have. They depend on the compiler and standard library version used in subtle ways, and we don't have quite enough expressiveness in LIT to say what we want (that the tests should XFAIL for all apple-clang less than or equal to 10).

Please LMK if you still see failures.

Louis


> 
> On Mon, Nov 26, 2018 at 8:32 PM Louis Dionne via libcxx-commits
> <libcxx-commits at lists.llvm.org <mailto:libcxx-commits at lists.llvm.org>> wrote:
>> 
>> 
>> 
>> 
>> ---------- Forwarded message ----------
>> From: Louis Dionne <ldionne at apple.com <mailto:ldionne at apple.com>>
>> To: libcxx-commits at lists.llvm.org <mailto:libcxx-commits at lists.llvm.org>
>> Cc:
>> Bcc:
>> Date: Mon, 26 Nov 2018 19:30:08 -0000
>> Subject: [libcxx] r347585 - [libcxx] Fix XFAILs for aligned allocation tests
>> 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
>> 
>> 
>> 
>> 
>> 
>> ---------- Forwarded message ----------
>> From: Louis Dionne via libcxx-commits <libcxx-commits at lists.llvm.org <mailto:libcxx-commits at lists.llvm.org>>
>> To: libcxx-commits at lists.llvm.org <mailto:libcxx-commits at lists.llvm.org>
>> Cc:
>> Bcc:
>> Date: Mon, 26 Nov 2018 11:30:09 -0800 (PST)
>> Subject: [libcxx-commits] [libcxx] r347585 - [libcxx] Fix XFAILs for aligned allocation tests
>> _______________________________________________
>> libcxx-commits mailing list
>> libcxx-commits at lists.llvm.org <mailto:libcxx-commits at lists.llvm.org>
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/libcxx-commits <http://lists.llvm.org/cgi-bin/mailman/listinfo/libcxx-commits>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20181206/2430a7ab/attachment-0001.html>


More information about the libcxx-commits mailing list