Merged to 7.0 in r339854.
On Wed, Aug 15, 2018 at 2:30 AM, Louis Dionne via cfe-commits <cfe-commits@lists.llvm.org> wrote: > Author: ldionne > Date: Tue Aug 14 17:30:03 2018 > New Revision: 339743 > > URL: http://llvm.org/viewvc/llvm-project?rev=339743&view=rev > Log: > [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 > > Added: > > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size.sh.cpp > > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align.sh.cpp > > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align_nothrow.sh.cpp > > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_nothrow.sh.cpp > > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align.sh.cpp > > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align_nothrow.sh.cpp > Removed: > > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size.fail.cpp > > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align.fail.cpp > > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align_nothrow.fail.cpp > > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_nothrow.fail.cpp > > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align.fail.cpp > > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align_nothrow.fail.cpp > Modified: > libcxx/trunk/test/libcxx/memory/aligned_allocation_macro.pass.cpp > > 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/libcxx/memory/aligned_allocation_macro.pass.cpp > URL: > http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/memory/aligned_allocation_macro.pass.cpp?rev=339743&r1=339742&r2=339743&view=diff > ============================================================================== > --- libcxx/trunk/test/libcxx/memory/aligned_allocation_macro.pass.cpp > (original) > +++ libcxx/trunk/test/libcxx/memory/aligned_allocation_macro.pass.cpp Tue Aug > 14 17:30:03 2018 > @@ -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> > > > 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=339743&r1=339742&r2=339743&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 > Tue Aug 14 17:30:03 2018 > @@ -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 > > 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=339743&r1=339742&r2=339743&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 > Tue Aug 14 17:30:03 2018 > @@ -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 > > 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=339743&r1=339742&r2=339743&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 > Tue Aug 14 17:30:03 2018 > @@ -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 > > 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=339743&r1=339742&r2=339743&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 > Tue Aug 14 17:30:03 2018 > @@ -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 > > > Removed: > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size.fail.cpp > URL: > http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size.fail.cpp?rev=339742&view=auto > ============================================================================== > --- > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size.fail.cpp > (original) > +++ > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size.fail.cpp > (removed) > @@ -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); > - > -// 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); // expected-error {{ignoring return value of > function declared with 'nodiscard' attribute}} > -} > > Added: > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size.sh.cpp > URL: > http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size.sh.cpp?rev=339743&view=auto > ============================================================================== > --- > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size.sh.cpp > (added) > +++ > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size.sh.cpp > Tue Aug 14 17:30:03 2018 > @@ -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); > + > +// 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); // expected-warning {{ignoring return value of > function declared with 'nodiscard' attribute}} > +} > > Removed: > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align.fail.cpp > URL: > http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align.fail.cpp?rev=339742&view=auto > ============================================================================== > --- > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align.fail.cpp > (original) > +++ > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align.fail.cpp > (removed) > @@ -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}} > -} > > Added: > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align.sh.cpp > URL: > http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align.sh.cpp?rev=339743&view=auto > ============================================================================== > --- > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align.sh.cpp > (added) > +++ > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align.sh.cpp > Tue Aug 14 17:30:03 2018 > @@ -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}} > +} > > Removed: > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align_nothrow.fail.cpp > URL: > http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align_nothrow.fail.cpp?rev=339742&view=auto > ============================================================================== > --- > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align_nothrow.fail.cpp > (original) > +++ > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align_nothrow.fail.cpp > (removed) > @@ -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, std::nothrow_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}, std::nothrow); // > expected-error {{ignoring return value of function declared with 'nodiscard' > attribute}} > -} > > Added: > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align_nothrow.sh.cpp > URL: > http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align_nothrow.sh.cpp?rev=339743&view=auto > ============================================================================== > --- > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align_nothrow.sh.cpp > (added) > +++ > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align_nothrow.sh.cpp > Tue Aug 14 17:30:03 2018 > @@ -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, std::nothrow_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}, std::nothrow); // > expected-warning {{ignoring return value of function declared with > 'nodiscard' attribute}} > +} > > Removed: > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_nothrow.fail.cpp > URL: > http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_nothrow.fail.cpp?rev=339742&view=auto > ============================================================================== > --- > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_nothrow.fail.cpp > (original) > +++ > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_nothrow.fail.cpp > (removed) > @@ -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::nothrow_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::nothrow); // expected-error {{ignoring return > value of function declared with 'nodiscard' attribute}} > -} > > Added: > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_nothrow.sh.cpp > URL: > http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_nothrow.sh.cpp?rev=339743&view=auto > ============================================================================== > --- > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_nothrow.sh.cpp > (added) > +++ > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_nothrow.sh.cpp > Tue Aug 14 17:30:03 2018 > @@ -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::nothrow_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::nothrow); // expected-warning {{ignoring > return value of function declared with 'nodiscard' attribute}} > +} > > 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=339743&r1=339742&r2=339743&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 > Tue Aug 14 17:30:03 2018 > @@ -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 > > 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=339743&r1=339742&r2=339743&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 > Tue Aug 14 17:30:03 2018 > @@ -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 > > 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=339743&r1=339742&r2=339743&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 > Tue Aug 14 17:30:03 2018 > @@ -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 > > 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=339743&r1=339742&r2=339743&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 > Tue Aug 14 17:30:03 2018 > @@ -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 > > Removed: > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align.fail.cpp > URL: > http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align.fail.cpp?rev=339742&view=auto > ============================================================================== > --- > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align.fail.cpp > (original) > +++ > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align.fail.cpp > (removed) > @@ -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}} > -} > > Added: > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align.sh.cpp > URL: > http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align.sh.cpp?rev=339743&view=auto > ============================================================================== > --- > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align.sh.cpp > (added) > +++ > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align.sh.cpp > Tue Aug 14 17:30:03 2018 > @@ -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}} > +} > > Removed: > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align_nothrow.fail.cpp > URL: > http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align_nothrow.fail.cpp?rev=339742&view=auto > ============================================================================== > --- > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align_nothrow.fail.cpp > (original) > +++ > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align_nothrow.fail.cpp > (removed) > @@ -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, std::nothrow_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}, std::nothrow); // expected-error > {{ignoring return value of function declared with 'nodiscard' attribute}} > -} > > Added: > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align_nothrow.sh.cpp > URL: > http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align_nothrow.sh.cpp?rev=339743&view=auto > ============================================================================== > --- > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align_nothrow.sh.cpp > (added) > +++ > libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align_nothrow.sh.cpp > Tue Aug 14 17:30:03 2018 > @@ -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, std::nothrow_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}, std::nothrow); // > expected-warning {{ignoring return value of function declared with > 'nodiscard' attribute}} > +} > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits