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

Hans Wennborg hans at chromium.org
Thu Dec 6 07:50:17 PST 2018


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?




On Mon, Nov 26, 2018 at 8:32 PM Louis Dionne via libcxx-commits
<libcxx-commits at lists.llvm.org> wrote:
>
>
>
>
> ---------- Forwarded message ----------
> From: Louis Dionne <ldionne at apple.com>
> To: 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>
> To: 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
> http://lists.llvm.org/cgi-bin/mailman/listinfo/libcxx-commits


More information about the libcxx-commits mailing list