forked from OSchip/llvm-project
[libcxx] Fix XFAILs for aligned allocation tests on older OSX versions
Summary: Since r338934, Clang emits an error when aligned allocation functions are used in conjunction with a system libc++ dylib that does not support those functions. This causes some tests to fail when testing against older libc++ dylibs. This commit marks those tests as UNSUPPORTED, and also documents the various reasons for the tests being unsupported. Reviewers: vsapsai, EricWF Subscribers: christof, dexonsmith, cfe-commits, mclow.lists, EricWF Differential Revision: https://reviews.llvm.org/D50341 llvm-svn: 339743
This commit is contained in:
parent
feb0427c91
commit
7c6baa2184
|
@ -8,12 +8,14 @@
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
||||
// XFAIL: with_system_cxx_lib=macosx10.12
|
||||
// XFAIL: with_system_cxx_lib=macosx10.11
|
||||
// XFAIL: with_system_cxx_lib=macosx10.10
|
||||
// XFAIL: with_system_cxx_lib=macosx10.9
|
||||
// XFAIL: with_system_cxx_lib=macosx10.8
|
||||
// XFAIL: with_system_cxx_lib=macosx10.7
|
||||
|
||||
// aligned allocation functions are not provided prior to macosx10.13
|
||||
// XFAIL: macosx10.12
|
||||
// XFAIL: macosx10.11
|
||||
// XFAIL: macosx10.10
|
||||
// XFAIL: macosx10.9
|
||||
// XFAIL: macosx10.8
|
||||
// XFAIL: macosx10.7
|
||||
|
||||
#include <new>
|
||||
|
||||
|
|
|
@ -12,17 +12,27 @@
|
|||
// UNSUPPORTED: sanitizer-new-delete, c++98, c++03, c++11, c++14
|
||||
|
||||
// Older Clang versions do not support this
|
||||
// XFAIL: clang-3, apple-clang-7, apple-clang-8
|
||||
// UNSUPPORTED: clang-3, apple-clang-7, apple-clang-8
|
||||
|
||||
// None of the current GCC compilers support this.
|
||||
// XFAIL: gcc-5, gcc-6
|
||||
// UNSUPPORTED: gcc-5, gcc-6
|
||||
|
||||
// XFAIL: with_system_cxx_lib=macosx10.12
|
||||
// XFAIL: with_system_cxx_lib=macosx10.11
|
||||
// XFAIL: with_system_cxx_lib=macosx10.10
|
||||
// XFAIL: with_system_cxx_lib=macosx10.9
|
||||
// XFAIL: with_system_cxx_lib=macosx10.7
|
||||
// XFAIL: with_system_cxx_lib=macosx10.8
|
||||
// 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
|
||||
|
||||
// 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 Windows libc++ doesn't provide its own definitions for new/delete
|
||||
// but instead depends on the ones in VCRuntime. However VCRuntime does not
|
||||
|
|
|
@ -15,13 +15,22 @@
|
|||
// FIXME change this to XFAIL.
|
||||
// UNSUPPORTED: no-aligned-allocation && !gcc
|
||||
|
||||
// XFAIL: with_system_cxx_lib=macosx10.12
|
||||
// XFAIL: with_system_cxx_lib=macosx10.11
|
||||
// XFAIL: with_system_cxx_lib=macosx10.10
|
||||
// XFAIL: with_system_cxx_lib=macosx10.9
|
||||
// XFAIL: with_system_cxx_lib=macosx10.7
|
||||
// XFAIL: with_system_cxx_lib=macosx10.8
|
||||
// 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
|
||||
|
||||
// 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 Windows libc++ doesn't provide its own definitions for new/delete
|
||||
// but instead depends on the ones in VCRuntime. However VCRuntime does not
|
||||
|
|
|
@ -15,12 +15,22 @@
|
|||
// FIXME turn this into an XFAIL
|
||||
// UNSUPPORTED: no-aligned-allocation && !gcc
|
||||
|
||||
// XFAIL: with_system_cxx_lib=macosx10.12
|
||||
// XFAIL: with_system_cxx_lib=macosx10.11
|
||||
// XFAIL: with_system_cxx_lib=macosx10.10
|
||||
// XFAIL: with_system_cxx_lib=macosx10.9
|
||||
// XFAIL: with_system_cxx_lib=macosx10.7
|
||||
// XFAIL: with_system_cxx_lib=macosx10.8
|
||||
// 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
|
||||
|
||||
// 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 Windows libc++ doesn't provide its own definitions for new/delete
|
||||
// but instead depends on the ones in VCRuntime. However VCRuntime does not
|
||||
|
|
|
@ -10,12 +10,24 @@
|
|||
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
||||
// UNSUPPORTED: sanitizer-new-delete
|
||||
|
||||
// XFAIL: with_system_cxx_lib=macosx10.12
|
||||
// XFAIL: with_system_cxx_lib=macosx10.11
|
||||
// XFAIL: with_system_cxx_lib=macosx10.10
|
||||
// XFAIL: with_system_cxx_lib=macosx10.9
|
||||
// XFAIL: with_system_cxx_lib=macosx10.7
|
||||
// XFAIL: with_system_cxx_lib=macosx10.8
|
||||
// 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
|
||||
|
||||
// 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
|
||||
|
||||
// XFAIL: no-aligned-allocation && !gcc
|
||||
|
||||
|
|
|
@ -15,11 +15,12 @@
|
|||
// UNSUPPORTED: c++98, c++03, c++11, c++14, c++17
|
||||
// UNSUPPORTED: clang-3.3, clang-3.4, clang-3.5, clang-3.6, clang-3.7, clang-3.8
|
||||
|
||||
#include <new>
|
||||
// REQUIRES: -faligned-allocation
|
||||
// RUN: %compile %verify -faligned-allocation
|
||||
|
||||
#include "test_macros.h"
|
||||
#include <new>
|
||||
|
||||
int main ()
|
||||
{
|
||||
::operator new[](4); // expected-error {{ignoring return value of function declared with 'nodiscard' attribute}}
|
||||
::operator new[](4); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
// -*- C++ -*-
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is dual licensed under the MIT and the University of Illinois Open
|
||||
// Source Licenses. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// <new>
|
||||
|
||||
// void* operator new[](std::size_t, std::align_val_t);
|
||||
|
||||
// UNSUPPORTED: c++98, c++03, c++11, c++14, c++17
|
||||
// UNSUPPORTED: clang-3.3, clang-3.4, clang-3.5, clang-3.6, clang-3.7, clang-3.8
|
||||
|
||||
// REQUIRES: -faligned-allocation
|
||||
// RUN: %compile %verify -faligned-allocation
|
||||
|
||||
#include <new>
|
||||
|
||||
int main ()
|
||||
{
|
||||
::operator new[](4, std::align_val_t{4}); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
|
||||
}
|
|
@ -15,11 +15,12 @@
|
|||
// UNSUPPORTED: c++98, c++03, c++11, c++14, c++17
|
||||
// UNSUPPORTED: clang-3.3, clang-3.4, clang-3.5, clang-3.6, clang-3.7, clang-3.8
|
||||
|
||||
#include <new>
|
||||
// REQUIRES: -faligned-allocation
|
||||
// RUN: %compile %verify -faligned-allocation
|
||||
|
||||
#include "test_macros.h"
|
||||
#include <new>
|
||||
|
||||
int main ()
|
||||
{
|
||||
::operator new[](4, std::align_val_t{4}, std::nothrow); // expected-error {{ignoring return value of function declared with 'nodiscard' attribute}}
|
||||
::operator new[](4, std::align_val_t{4}, std::nothrow); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
|
||||
}
|
|
@ -15,11 +15,12 @@
|
|||
// UNSUPPORTED: c++98, c++03, c++11, c++14, c++17
|
||||
// UNSUPPORTED: clang-3.3, clang-3.4, clang-3.5, clang-3.6, clang-3.7, clang-3.8
|
||||
|
||||
#include <new>
|
||||
// REQUIRES: -faligned-allocation
|
||||
// RUN: %compile %verify -faligned-allocation
|
||||
|
||||
#include "test_macros.h"
|
||||
#include <new>
|
||||
|
||||
int main ()
|
||||
{
|
||||
::operator new[](4, std::nothrow); // expected-error {{ignoring return value of function declared with 'nodiscard' attribute}}
|
||||
::operator new[](4, std::nothrow); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
|
||||
}
|
|
@ -11,17 +11,27 @@
|
|||
|
||||
// UNSUPPORTED: sanitizer-new-delete, c++98, c++03, c++11, c++14
|
||||
// Older Clang versions do not support this
|
||||
// XFAIL: clang-3, apple-clang-7, apple-clang-8
|
||||
// UNSUPPORTED: clang-3, apple-clang-7, apple-clang-8
|
||||
|
||||
// None of the current GCC compilers support this.
|
||||
// XFAIL: gcc-5, gcc-6
|
||||
// UNSUPPORTED: gcc-5, gcc-6
|
||||
|
||||
// XFAIL: with_system_cxx_lib=macosx10.12
|
||||
// XFAIL: with_system_cxx_lib=macosx10.11
|
||||
// XFAIL: with_system_cxx_lib=macosx10.10
|
||||
// XFAIL: with_system_cxx_lib=macosx10.9
|
||||
// XFAIL: with_system_cxx_lib=macosx10.7
|
||||
// XFAIL: with_system_cxx_lib=macosx10.8
|
||||
// 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
|
||||
|
||||
// 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 Windows libc++ doesn't provide its own definitions for new/delete
|
||||
// but instead depends on the ones in VCRuntime. However VCRuntime does not
|
||||
|
|
|
@ -9,12 +9,22 @@
|
|||
|
||||
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
||||
|
||||
// XFAIL: with_system_cxx_lib=macosx10.12
|
||||
// XFAIL: with_system_cxx_lib=macosx10.11
|
||||
// XFAIL: with_system_cxx_lib=macosx10.10
|
||||
// XFAIL: with_system_cxx_lib=macosx10.9
|
||||
// XFAIL: with_system_cxx_lib=macosx10.7
|
||||
// XFAIL: with_system_cxx_lib=macosx10.8
|
||||
// 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
|
||||
|
||||
// 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
|
||||
|
||||
// asan and msan will not call the new handler.
|
||||
// UNSUPPORTED: sanitizer-new-delete
|
||||
|
|
|
@ -9,12 +9,22 @@
|
|||
|
||||
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
||||
|
||||
// XFAIL: with_system_cxx_lib=macosx10.12
|
||||
// XFAIL: with_system_cxx_lib=macosx10.11
|
||||
// XFAIL: with_system_cxx_lib=macosx10.10
|
||||
// XFAIL: with_system_cxx_lib=macosx10.9
|
||||
// XFAIL: with_system_cxx_lib=macosx10.7
|
||||
// XFAIL: with_system_cxx_lib=macosx10.8
|
||||
// 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
|
||||
|
||||
// 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
|
||||
|
||||
// asan and msan will not call the new handler.
|
||||
// UNSUPPORTED: sanitizer-new-delete
|
||||
|
|
|
@ -10,12 +10,24 @@
|
|||
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
||||
// UNSUPPORTED: sanitizer-new-delete
|
||||
|
||||
// XFAIL: with_system_cxx_lib=macosx10.12
|
||||
// XFAIL: with_system_cxx_lib=macosx10.11
|
||||
// XFAIL: with_system_cxx_lib=macosx10.10
|
||||
// XFAIL: with_system_cxx_lib=macosx10.9
|
||||
// XFAIL: with_system_cxx_lib=macosx10.7
|
||||
// XFAIL: with_system_cxx_lib=macosx10.8
|
||||
// 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
|
||||
|
||||
// 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
|
||||
|
||||
// NOTE: gcc doesn't provide -faligned-allocation flag to test for
|
||||
// XFAIL: no-aligned-allocation && !gcc
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
// -*- C++ -*-
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is dual licensed under the MIT and the University of Illinois Open
|
||||
// Source Licenses. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// <new>
|
||||
|
||||
// void* operator new(std::size_t, std::align_val_t);
|
||||
|
||||
// UNSUPPORTED: c++98, c++03, c++11, c++14, c++17
|
||||
// UNSUPPORTED: clang-3.3, clang-3.4, clang-3.5, clang-3.6, clang-3.7, clang-3.8
|
||||
|
||||
#include <new>
|
||||
|
||||
#include "test_macros.h"
|
||||
|
||||
int main ()
|
||||
{
|
||||
::operator new(4, std::align_val_t{4}); // expected-error {{ignoring return value of function declared with 'nodiscard' attribute}}
|
||||
}
|
|
@ -10,16 +10,17 @@
|
|||
|
||||
// <new>
|
||||
|
||||
// void* operator new[](std::size_t, std::align_val_t);
|
||||
// void* operator new(std::size_t, std::align_val_t);
|
||||
|
||||
// UNSUPPORTED: c++98, c++03, c++11, c++14, c++17
|
||||
// UNSUPPORTED: clang-3.3, clang-3.4, clang-3.5, clang-3.6, clang-3.7, clang-3.8
|
||||
|
||||
#include <new>
|
||||
// REQUIRES: -faligned-allocation
|
||||
// RUN: %compile %verify -faligned-allocation
|
||||
|
||||
#include "test_macros.h"
|
||||
#include <new>
|
||||
|
||||
int main ()
|
||||
{
|
||||
::operator new[](4, std::align_val_t{4}); // expected-error {{ignoring return value of function declared with 'nodiscard' attribute}}
|
||||
::operator new(4, std::align_val_t{4}); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
|
||||
}
|
|
@ -15,11 +15,12 @@
|
|||
// UNSUPPORTED: c++98, c++03, c++11, c++14, c++17
|
||||
// UNSUPPORTED: clang-3.3, clang-3.4, clang-3.5, clang-3.6, clang-3.7, clang-3.8
|
||||
|
||||
#include <new>
|
||||
// REQUIRES: -faligned-allocation
|
||||
// RUN: %compile %verify -faligned-allocation
|
||||
|
||||
#include "test_macros.h"
|
||||
#include <new>
|
||||
|
||||
int main ()
|
||||
{
|
||||
::operator new(4, std::align_val_t{4}, std::nothrow); // expected-error {{ignoring return value of function declared with 'nodiscard' attribute}}
|
||||
::operator new(4, std::align_val_t{4}, std::nothrow); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
|
||||
}
|
Loading…
Reference in New Issue