From 81b13934c18ac90814b28dfae2616e61afdeb47a Mon Sep 17 00:00:00 2001 From: Eric Fiselier Date: Fri, 14 Oct 2016 08:47:09 +0000 Subject: [PATCH] XFAIL aligned allocation tests for older Clang versions llvm-svn: 284214 --- libcxx/test/libcxx/test/config.py | 4 ++++ .../new.delete/new.delete.array/new_align_val_t.pass.cpp | 6 ++++-- .../new.delete.array/new_align_val_t_nothrow.pass.cpp | 6 ++++-- .../new_align_val_t_nothrow_replace.pass.cpp | 6 +++--- .../new.delete.array/new_align_val_t_replace.pass.cpp | 5 +++-- .../new.delete/new.delete.single/new_align_val_t.pass.cpp | 6 ++++-- .../new.delete.single/new_align_val_t_nothrow.pass.cpp | 6 ++++-- .../new_align_val_t_nothrow_replace.pass.cpp | 6 +++--- .../new.delete.single/new_align_val_t_replace.pass.cpp | 5 +++-- 9 files changed, 32 insertions(+), 18 deletions(-) diff --git a/libcxx/test/libcxx/test/config.py b/libcxx/test/libcxx/test/config.py index 9b1ded4c3665..6655743aef99 100644 --- a/libcxx/test/libcxx/test/config.py +++ b/libcxx/test/libcxx/test/config.py @@ -315,6 +315,10 @@ class Configuration(object): if self.cxx.hasCompileFlag('-faligned-allocation'): self.config.available_features.add('-faligned-allocation') + else: + # FIXME remove this once more than just clang-4.0 support + # C++17 aligned allocation. + self.config.available_features.add('no-aligned-allocation') if self.get_lit_bool('has_libatomic', False): self.config.available_features.add('libatomic') diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp index 69be9b31feea..1d2f799f7c94 100644 --- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp +++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp @@ -9,11 +9,13 @@ // UNSUPPORTED: c++98, c++03, c++11, c++14 -// test operator new - // asan and msan will not call the new handler. // UNSUPPORTED: sanitizer-new-delete +// XFAIL: no-aligned-allocation + +// test operator new + #include #include #include diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp index 76b50346713e..d4b1493333bc 100644 --- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp +++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp @@ -9,11 +9,13 @@ // UNSUPPORTED: c++98, c++03, c++11, c++14 -// test operator new (nothrow) - // asan and msan will not call the new handler. // UNSUPPORTED: sanitizer-new-delete +// XFAIL: no-aligned-allocation + +// test operator new (nothrow) + #include #include #include diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp index 48ea3fde5739..800318d92862 100644 --- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp +++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp @@ -8,18 +8,18 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++98, c++03, c++11, c++14 +// UNSUPPORTED: sanitizer-new-delete + +// XFAIL: no-aligned-allocation // test operator new nothrow by replacing only operator new -// UNSUPPORTED: sanitizer-new-delete - #include #include #include #include #include - constexpr auto OverAligned = alignof(std::max_align_t) * 2; int A_constructed = 0; diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_replace.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_replace.pass.cpp index 6ea23ffe9f56..898d4aa167d5 100644 --- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_replace.pass.cpp +++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_replace.pass.cpp @@ -8,11 +8,12 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++98, c++03, c++11, c++14 +// UNSUPPORTED: sanitizer-new-delete + +// XFAIL: no-aligned-allocation // test operator new replacement -// UNSUPPORTED: sanitizer-new-delete - #include #include #include diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp index 1be78fb73d26..a0caeea95d7b 100644 --- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp +++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp @@ -9,11 +9,13 @@ // UNSUPPORTED: c++98, c++03, c++11, c++14 -// test operator new - // asan and msan will not call the new handler. // UNSUPPORTED: sanitizer-new-delete +// XFAIL: no-aligned-allocation + +// test operator new + #include #include #include diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp index 89e5dc820c8d..4e492e09e44b 100644 --- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp +++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp @@ -9,11 +9,13 @@ // UNSUPPORTED: c++98, c++03, c++11, c++14 -// test operator new (nothrow) - // asan and msan will not call the new handler. // UNSUPPORTED: sanitizer-new-delete +// XFAIL: no-aligned-allocation + +// test operator new (nothrow) + #include #include #include diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp index fc37677e53f9..8348240e5e7a 100644 --- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp +++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp @@ -8,11 +8,11 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++98, c++03, c++11, c++14 - -// test operator new nothrow by replacing only operator new - // UNSUPPORTED: sanitizer-new-delete +// XFAIL: no-aligned-allocation + +// test operator new nothrow by replacing only operator new #include #include diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_replace.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_replace.pass.cpp index dd6fc676e968..8aecc2d7781d 100644 --- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_replace.pass.cpp +++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_replace.pass.cpp @@ -8,11 +8,12 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++98, c++03, c++11, c++14 +// UNSUPPORTED: sanitizer-new-delete + +// XFAIL: no-aligned-allocation // test operator new replacement -// UNSUPPORTED: sanitizer-new-delete - #include #include #include