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
|
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.12
|
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.11
|
// aligned allocation functions are not provided prior to macosx10.13
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.10
|
// XFAIL: macosx10.12
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.9
|
// XFAIL: macosx10.11
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.8
|
// XFAIL: macosx10.10
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.7
|
// XFAIL: macosx10.9
|
||||||
|
// XFAIL: macosx10.8
|
||||||
|
// XFAIL: macosx10.7
|
||||||
|
|
||||||
#include <new>
|
#include <new>
|
||||||
|
|
||||||
|
|
|
@ -12,17 +12,27 @@
|
||||||
// UNSUPPORTED: sanitizer-new-delete, c++98, c++03, c++11, c++14
|
// UNSUPPORTED: sanitizer-new-delete, c++98, c++03, c++11, c++14
|
||||||
|
|
||||||
// Older Clang versions do not support this
|
// 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.
|
// 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
|
// dylibs shipped before macosx10.13 do not provide aligned allocation, so that's a link error
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.11
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.12
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.10
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.11
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.9
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.10
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.7
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.9
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.8
|
// 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
|
// On Windows libc++ doesn't provide its own definitions for new/delete
|
||||||
// but instead depends on the ones in VCRuntime. However VCRuntime does not
|
// but instead depends on the ones in VCRuntime. However VCRuntime does not
|
||||||
|
|
|
@ -15,13 +15,22 @@
|
||||||
// FIXME change this to XFAIL.
|
// FIXME change this to XFAIL.
|
||||||
// UNSUPPORTED: no-aligned-allocation && !gcc
|
// UNSUPPORTED: no-aligned-allocation && !gcc
|
||||||
|
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.12
|
// dylibs shipped before macosx10.13 do not provide aligned allocation, so that's a link error
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.11
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.12
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.10
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.11
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.9
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.10
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.7
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.9
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.8
|
// 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
|
// On Windows libc++ doesn't provide its own definitions for new/delete
|
||||||
// but instead depends on the ones in VCRuntime. However VCRuntime does not
|
// but instead depends on the ones in VCRuntime. However VCRuntime does not
|
||||||
|
|
|
@ -15,12 +15,22 @@
|
||||||
// FIXME turn this into an XFAIL
|
// FIXME turn this into an XFAIL
|
||||||
// UNSUPPORTED: no-aligned-allocation && !gcc
|
// UNSUPPORTED: no-aligned-allocation && !gcc
|
||||||
|
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.12
|
// dylibs shipped before macosx10.13 do not provide aligned allocation, so that's a link error
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.11
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.12
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.10
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.11
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.9
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.10
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.7
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.9
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.8
|
// 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
|
// On Windows libc++ doesn't provide its own definitions for new/delete
|
||||||
// but instead depends on the ones in VCRuntime. However VCRuntime does not
|
// 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: c++98, c++03, c++11, c++14
|
||||||
// UNSUPPORTED: sanitizer-new-delete
|
// UNSUPPORTED: sanitizer-new-delete
|
||||||
|
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.12
|
// dylibs shipped before macosx10.13 do not provide aligned allocation, so our
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.11
|
// custom aligned allocation functions are not called and the test fails
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.10
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.12
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.9
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.11
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.7
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.10
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.8
|
// 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
|
// XFAIL: no-aligned-allocation && !gcc
|
||||||
|
|
||||||
|
|
|
@ -15,11 +15,12 @@
|
||||||
// UNSUPPORTED: c++98, c++03, c++11, c++14, c++17
|
// 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
|
// 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 ()
|
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: 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
|
// 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 ()
|
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: 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
|
// 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 ()
|
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
|
// UNSUPPORTED: sanitizer-new-delete, c++98, c++03, c++11, c++14
|
||||||
// Older Clang versions do not support this
|
// 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.
|
// 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
|
// dylibs shipped before macosx10.13 do not provide aligned allocation, so that's a link error
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.11
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.12
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.10
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.11
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.9
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.10
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.7
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.9
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.8
|
// 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
|
// On Windows libc++ doesn't provide its own definitions for new/delete
|
||||||
// but instead depends on the ones in VCRuntime. However VCRuntime does not
|
// 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
|
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
||||||
|
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.12
|
// dylibs shipped before macosx10.13 do not provide aligned allocation, so that's a link error
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.11
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.12
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.10
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.11
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.9
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.10
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.7
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.9
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.8
|
// 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.
|
// asan and msan will not call the new handler.
|
||||||
// UNSUPPORTED: sanitizer-new-delete
|
// UNSUPPORTED: sanitizer-new-delete
|
||||||
|
|
|
@ -9,12 +9,22 @@
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
||||||
|
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.12
|
// dylibs shipped before macosx10.13 do not provide aligned allocation, so that's a link error
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.11
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.12
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.10
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.11
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.9
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.10
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.7
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.9
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.8
|
// 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.
|
// asan and msan will not call the new handler.
|
||||||
// UNSUPPORTED: sanitizer-new-delete
|
// UNSUPPORTED: sanitizer-new-delete
|
||||||
|
|
|
@ -10,12 +10,24 @@
|
||||||
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
||||||
// UNSUPPORTED: sanitizer-new-delete
|
// UNSUPPORTED: sanitizer-new-delete
|
||||||
|
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.12
|
// dylibs shipped before macosx10.13 do not provide aligned allocation, so our
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.11
|
// custom aligned allocation functions are not called and the test fails
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.10
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.12
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.9
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.11
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.7
|
// UNSUPPORTED: with_system_cxx_lib=macosx10.10
|
||||||
// XFAIL: with_system_cxx_lib=macosx10.8
|
// 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
|
// NOTE: gcc doesn't provide -faligned-allocation flag to test for
|
||||||
// XFAIL: no-aligned-allocation && !gcc
|
// 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>
|
// <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: 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
|
// 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 ()
|
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: 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
|
// 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 ()
|
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