Author: ericwf Date: Sat Dec 10 20:47:36 2016 New Revision: 289356 URL: http://llvm.org/viewvc/llvm-project?rev=289356&view=rev Log: Fix more uses of dynamic exception specifications in C++17
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_nothrow_replace.pass.cpp libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_replace.pass.cpp libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array_nothrow_replace.pass.cpp libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array_replace.pass.cpp libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array11.pass.cpp libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_calls_unsized_delete_array.pass.cpp libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.sh.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_nothrow_replace.pass.cpp libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_replace.pass.cpp libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_nothrow_replace.pass.cpp libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_replace.pass.cpp libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete11.pass.cpp libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_calls_unsized_delete.pass.cpp libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.sh.cpp libcxx/trunk/test/support/count_new.hpp libcxx/trunk/test/support/test_allocator.h libcxx/trunk/test/support/test_macros.h 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=289356&r1=289355&r2=289356&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 Sat Dec 10 20:47:36 2016 @@ -22,6 +22,8 @@ #include <cstdlib> #include <cassert> +#include "test_macros.h" + constexpr auto OverAligned = alignof(std::max_align_t) * 2; int unsized_delete_called = 0; @@ -34,19 +36,19 @@ void reset() { aligned_delete_called = 0; } -void operator delete(void* p) throw() +void operator delete(void* p) TEST_NOEXCEPT { ++unsized_delete_called; std::free(p); } -void operator delete(void* p, const std::nothrow_t&) throw() +void operator delete(void* p, const std::nothrow_t&) TEST_NOEXCEPT { ++unsized_delete_nothrow_called; std::free(p); } -void operator delete [] (void* p, std::align_val_t a) throw() +void operator delete [] (void* p, std::align_val_t a) TEST_NOEXCEPT { ++aligned_delete_called; std::free(p); 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=289356&r1=289355&r2=289356&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 Sat Dec 10 20:47:36 2016 @@ -20,6 +20,8 @@ #include <cassert> #include <limits> +#include "test_macros.h" + constexpr auto OverAligned = alignof(std::max_align_t) * 2; int A_constructed = 0; @@ -41,7 +43,7 @@ struct B { int new_called = 0; alignas(OverAligned) char Buff[OverAligned * 3]; -void* operator new[](std::size_t s, std::align_val_t a) throw(std::bad_alloc) +void* operator new[](std::size_t s, std::align_val_t a) TEST_THROW_SPEC(std::bad_alloc) { assert(!new_called); assert(s <= sizeof(Buff)); @@ -50,7 +52,7 @@ void* operator new[](std::size_t s, std: return Buff; } -void operator delete[](void* p, std::align_val_t a) throw() +void operator delete[](void* p, std::align_val_t a) TEST_NOEXCEPT { assert(p == Buff); assert(static_cast<std::size_t>(a) == OverAligned); Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_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/new_align_val_t_replace.pass.cpp?rev=289356&r1=289355&r2=289356&view=diff ============================================================================== --- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_replace.pass.cpp (original) +++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_replace.pass.cpp Sat Dec 10 20:47:36 2016 @@ -21,6 +21,8 @@ #include <cassert> #include <limits> +#include "test_macros.h" + constexpr auto OverAligned = alignof(std::max_align_t) * 2; int A_constructed = 0; @@ -44,7 +46,7 @@ int new_called = 0; alignas(OverAligned) char DummyData[OverAligned * 4]; -void* operator new[](std::size_t s, std::align_val_t a) throw(std::bad_alloc) +void* operator new[](std::size_t s, std::align_val_t a) TEST_THROW_SPEC(std::bad_alloc) { assert(new_called == 0); // We already allocated assert(s <= sizeof(DummyData)); @@ -53,7 +55,7 @@ void* operator new[](std::size_t s, std: return DummyData; } -void operator delete[](void* p, std::align_val_t a) throw() +void operator delete[](void* p, std::align_val_t a) TEST_NOEXCEPT { assert(new_called == 1); --new_called; Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array_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_array_nothrow_replace.pass.cpp?rev=289356&r1=289355&r2=289356&view=diff ============================================================================== --- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array_nothrow_replace.pass.cpp (original) +++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array_nothrow_replace.pass.cpp Sat Dec 10 20:47:36 2016 @@ -17,9 +17,11 @@ #include <cassert> #include <limits> +#include "test_macros.h" + int new_called = 0; -void* operator new(std::size_t s) throw(std::bad_alloc) +void* operator new(std::size_t s) TEST_THROW_SPEC(std::bad_alloc) { ++new_called; void* ret = std::malloc(s); @@ -27,7 +29,7 @@ void* operator new(std::size_t s) throw( return ret; } -void operator delete(void* p) throw() +void operator delete(void* p) TEST_NOEXCEPT { --new_called; std::free(p); Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array_replace.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array_replace.pass.cpp?rev=289356&r1=289355&r2=289356&view=diff ============================================================================== --- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array_replace.pass.cpp (original) +++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array_replace.pass.cpp Sat Dec 10 20:47:36 2016 @@ -18,9 +18,11 @@ #include <cassert> #include <limits> +#include "test_macros.h" + volatile int new_called = 0; -void* operator new(std::size_t s) throw(std::bad_alloc) +void* operator new(std::size_t s) TEST_THROW_SPEC(std::bad_alloc) { ++new_called; void* ret = std::malloc(s); @@ -28,7 +30,7 @@ void* operator new(std::size_t s) throw( return ret; } -void operator delete(void* p) throw() +void operator delete(void* p) TEST_NOEXCEPT { --new_called; std::free(p); Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array11.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array11.pass.cpp?rev=289356&r1=289355&r2=289356&view=diff ============================================================================== --- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array11.pass.cpp (original) +++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array11.pass.cpp Sat Dec 10 20:47:36 2016 @@ -20,23 +20,25 @@ #include <cstdlib> #include <cassert> +#include "test_macros.h" + int unsized_delete_called = 0; int unsized_delete_nothrow_called = 0; int sized_delete_called = 0; -void operator delete[](void* p) throw() +void operator delete[](void* p) TEST_NOEXCEPT { ++unsized_delete_called; std::free(p); } -void operator delete[](void* p, const std::nothrow_t&) throw() +void operator delete[](void* p, const std::nothrow_t&) TEST_NOEXCEPT { ++unsized_delete_nothrow_called; std::free(p); } -void operator delete[](void* p, std::size_t) throw() +void operator delete[](void* p, std::size_t) TEST_NOEXCEPT { ++sized_delete_called; std::free(p); Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp?rev=289356&r1=289355&r2=289356&view=diff ============================================================================== --- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp (original) +++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp Sat Dec 10 20:47:36 2016 @@ -25,23 +25,25 @@ #include <cstdlib> #include <cassert> +#include "test_macros.h" + int unsized_delete_called = 0; int unsized_delete_nothrow_called = 0; int sized_delete_called = 0; -void operator delete[](void* p) throw() +void operator delete[](void* p) TEST_NOEXCEPT { ++unsized_delete_called; std::free(p); } -void operator delete[](void* p, const std::nothrow_t&) throw() +void operator delete[](void* p, const std::nothrow_t&) TEST_NOEXCEPT { ++unsized_delete_nothrow_called; std::free(p); } -void operator delete[](void* p, std::size_t) throw() +void operator delete[](void* p, std::size_t) TEST_NOEXCEPT { ++sized_delete_called; std::free(p); Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_calls_unsized_delete_array.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_calls_unsized_delete_array.pass.cpp?rev=289356&r1=289355&r2=289356&view=diff ============================================================================== --- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_calls_unsized_delete_array.pass.cpp (original) +++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_calls_unsized_delete_array.pass.cpp Sat Dec 10 20:47:36 2016 @@ -18,16 +18,18 @@ #include <cstdlib> #include <cassert> +#include "test_macros.h" + int delete_called = 0; int delete_nothrow_called = 0; -void operator delete[](void* p) throw() +void operator delete[](void* p) TEST_NOEXCEPT { ++delete_called; std::free(p); } -void operator delete[](void* p, const std::nothrow_t&) throw() +void operator delete[](void* p, const std::nothrow_t&) TEST_NOEXCEPT { ++delete_nothrow_called; std::free(p); Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.sh.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.sh.cpp?rev=289356&r1=289355&r2=289356&view=diff ============================================================================== --- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.sh.cpp (original) +++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.sh.cpp Sat Dec 10 20:47:36 2016 @@ -33,23 +33,25 @@ #include <cstdlib> #include <cassert> +#include "test_macros.h" + int unsized_delete_called = 0; int unsized_delete_nothrow_called = 0; int sized_delete_called = 0; -void operator delete[](void* p) throw() +void operator delete[](void* p) TEST_NOEXCEPT { ++unsized_delete_called; std::free(p); } -void operator delete[](void* p, const std::nothrow_t&) throw() +void operator delete[](void* p, const std::nothrow_t&) TEST_NOEXCEPT { ++unsized_delete_nothrow_called; std::free(p); } -void operator delete[](void* p, std::size_t) throw() +void operator delete[](void* p, std::size_t) TEST_NOEXCEPT { ++sized_delete_called; std::free(p); 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=289356&r1=289355&r2=289356&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 Sat Dec 10 20:47:36 2016 @@ -23,6 +23,8 @@ #include <cstdlib> #include <cassert> +#include "test_macros.h" + constexpr auto OverAligned = alignof(std::max_align_t) * 2; int unsized_delete_called = 0; @@ -35,19 +37,19 @@ void reset() { aligned_delete_called = 0; } -void operator delete(void* p) throw() +void operator delete(void* p) TEST_NOEXCEPT { ++unsized_delete_called; std::free(p); } -void operator delete(void* p, const std::nothrow_t&) throw() +void operator delete(void* p, const std::nothrow_t&) TEST_NOEXCEPT { ++unsized_delete_nothrow_called; std::free(p); } -void operator delete(void* p, std::align_val_t a) throw() +void operator delete(void* p, std::align_val_t a) TEST_NOEXCEPT { ++aligned_delete_called; std::free(p); 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=289356&r1=289355&r2=289356&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 Sat Dec 10 20:47:36 2016 @@ -20,6 +20,7 @@ #include <cassert> #include <limits> +#include "test_macros.h" constexpr auto OverAligned = alignof(std::max_align_t) * 2; @@ -42,7 +43,7 @@ struct B { int new_called = 0; alignas(OverAligned) char Buff[OverAligned * 2]; -void* operator new(std::size_t s, std::align_val_t a) throw(std::bad_alloc) +void* operator new(std::size_t s, std::align_val_t a) TEST_THROW_SPEC(std::bad_alloc) { assert(!new_called); assert(s <= sizeof(Buff)); @@ -51,7 +52,7 @@ void* operator new(std::size_t s, std::a return Buff; } -void operator delete(void* p, std::align_val_t a) throw() +void operator delete(void* p, std::align_val_t a) TEST_NOEXCEPT { assert(p == Buff); assert(static_cast<std::size_t>(a) == OverAligned); Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_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/new_align_val_t_replace.pass.cpp?rev=289356&r1=289355&r2=289356&view=diff ============================================================================== --- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_replace.pass.cpp (original) +++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_replace.pass.cpp Sat Dec 10 20:47:36 2016 @@ -21,6 +21,8 @@ #include <cassert> #include <limits> +#include "test_macros.h" + constexpr auto OverAligned = alignof(std::max_align_t) * 2; bool A_constructed = false; @@ -44,7 +46,7 @@ int new_called = 0; alignas(OverAligned) char DummyData[OverAligned]; -void* operator new(std::size_t s, std::align_val_t a) throw(std::bad_alloc) +void* operator new(std::size_t s, std::align_val_t a) TEST_THROW_SPEC(std::bad_alloc) { assert(new_called == 0); // We already allocated assert(s <= sizeof(DummyData)); @@ -53,7 +55,7 @@ void* operator new(std::size_t s, std::a return DummyData; } -void operator delete(void* p, std::align_val_t a) throw() +void operator delete(void* p, std::align_val_t a) TEST_NOEXCEPT { assert(new_called == 1); --new_called; Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_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_nothrow_replace.pass.cpp?rev=289356&r1=289355&r2=289356&view=diff ============================================================================== --- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_nothrow_replace.pass.cpp (original) +++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_nothrow_replace.pass.cpp Sat Dec 10 20:47:36 2016 @@ -17,9 +17,11 @@ #include <cassert> #include <limits> +#include "test_macros.h" + int new_called = 0; -void* operator new(std::size_t s) throw(std::bad_alloc) +void* operator new(std::size_t s) TEST_THROW_SPEC(std::bad_alloc) { ++new_called; void* ret = std::malloc(s); @@ -27,7 +29,7 @@ void* operator new(std::size_t s) throw( return ret; } -void operator delete(void* p) throw() +void operator delete(void* p) TEST_NOEXCEPT { --new_called; std::free(p); Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_replace.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_replace.pass.cpp?rev=289356&r1=289355&r2=289356&view=diff ============================================================================== --- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_replace.pass.cpp (original) +++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_replace.pass.cpp Sat Dec 10 20:47:36 2016 @@ -17,9 +17,11 @@ #include <cassert> #include <limits> +#include "test_macros.h" + int new_called = 0; -void* operator new(std::size_t s) throw(std::bad_alloc) +void* operator new(std::size_t s) TEST_THROW_SPEC(std::bad_alloc) { ++new_called; void* ret = std::malloc(s); @@ -27,7 +29,7 @@ void* operator new(std::size_t s) throw( return ret; } -void operator delete(void* p) throw() +void operator delete(void* p) TEST_NOEXCEPT { --new_called; std::free(p); Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete11.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete11.pass.cpp?rev=289356&r1=289355&r2=289356&view=diff ============================================================================== --- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete11.pass.cpp (original) +++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete11.pass.cpp Sat Dec 10 20:47:36 2016 @@ -20,23 +20,25 @@ #include <cstdlib> #include <cassert> +#include "test_macros.h" + int unsized_delete_called = 0; int unsized_delete_nothrow_called = 0; int sized_delete_called = 0; -void operator delete(void* p) throw() +void operator delete(void* p) TEST_NOEXCEPT { ++unsized_delete_called; std::free(p); } -void operator delete(void* p, const std::nothrow_t&) throw() +void operator delete(void* p, const std::nothrow_t&) TEST_NOEXCEPT { ++unsized_delete_nothrow_called; std::free(p); } -void operator delete(void* p, std::size_t) throw() +void operator delete(void* p, std::size_t) TEST_NOEXCEPT { ++sized_delete_called; std::free(p); Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp?rev=289356&r1=289355&r2=289356&view=diff ============================================================================== --- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp (original) +++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp Sat Dec 10 20:47:36 2016 @@ -25,23 +25,25 @@ #include <cstdlib> #include <cassert> +#include "test_macros.h" + int unsized_delete_called = 0; int unsized_delete_nothrow_called = 0; int sized_delete_called = 0; -void operator delete(void* p) throw() +void operator delete(void* p) TEST_NOEXCEPT { ++unsized_delete_called; std::free(p); } -void operator delete(void* p, const std::nothrow_t&) throw() +void operator delete(void* p, const std::nothrow_t&) TEST_NOEXCEPT { ++unsized_delete_nothrow_called; std::free(p); } -void operator delete(void* p, std::size_t) throw() +void operator delete(void* p, std::size_t) TEST_NOEXCEPT { ++sized_delete_called; std::free(p); Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_calls_unsized_delete.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_calls_unsized_delete.pass.cpp?rev=289356&r1=289355&r2=289356&view=diff ============================================================================== --- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_calls_unsized_delete.pass.cpp (original) +++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_calls_unsized_delete.pass.cpp Sat Dec 10 20:47:36 2016 @@ -18,16 +18,18 @@ #include <cstdlib> #include <cassert> +#include "test_macros.h" + int delete_called = 0; int delete_nothrow_called = 0; -void operator delete(void* p) throw() +void operator delete(void* p) TEST_NOEXCEPT { ++delete_called; std::free(p); } -void operator delete(void* p, const std::nothrow_t&) throw() +void operator delete(void* p, const std::nothrow_t&) TEST_NOEXCEPT { ++delete_nothrow_called; std::free(p); Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.sh.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.sh.cpp?rev=289356&r1=289355&r2=289356&view=diff ============================================================================== --- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.sh.cpp (original) +++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.sh.cpp Sat Dec 10 20:47:36 2016 @@ -33,23 +33,25 @@ #include <cstdlib> #include <cassert> +#include "test_macros.h" + int unsized_delete_called = 0; int unsized_delete_nothrow_called = 0; int sized_delete_called = 0; -void operator delete(void* p) throw() +void operator delete(void* p) TEST_NOEXCEPT { ++unsized_delete_called; std::free(p); } -void operator delete(void* p, const std::nothrow_t&) throw() +void operator delete(void* p, const std::nothrow_t&) TEST_NOEXCEPT { ++unsized_delete_nothrow_called; std::free(p); } -void operator delete(void* p, std::size_t) throw() +void operator delete(void* p, std::size_t) TEST_NOEXCEPT { ++sized_delete_called; std::free(p); Modified: libcxx/trunk/test/support/count_new.hpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/count_new.hpp?rev=289356&r1=289355&r2=289356&view=diff ============================================================================== --- libcxx/trunk/test/support/count_new.hpp (original) +++ libcxx/trunk/test/support/count_new.hpp Sat Dec 10 20:47:36 2016 @@ -234,10 +234,7 @@ public: MemCounter globalMemCounter((MemCounter::MemCounterCtorArg_())); #ifndef DISABLE_NEW_COUNT -void* operator new(std::size_t s) -#if TEST_STD_VER < 11 - throw(std::bad_alloc) -#endif +void* operator new(std::size_t s) TEST_THROW_SPEC(std::bad_alloc) { globalMemCounter.newCalled(s); void* ret = std::malloc(s); @@ -246,34 +243,21 @@ void* operator new(std::size_t s) return ret; } -void operator delete(void* p) -#if TEST_STD_VER < 11 - throw() -#else - noexcept -#endif +void operator delete(void* p) TEST_NOEXCEPT { globalMemCounter.deleteCalled(p); std::free(p); } -void* operator new[](std::size_t s) -#if TEST_STD_VER < 11 - throw(std::bad_alloc) -#endif +void* operator new[](std::size_t s) TEST_THROW_SPEC(std::bad_alloc) { globalMemCounter.newArrayCalled(s); return operator new(s); } -void operator delete[](void* p) -#if TEST_STD_VER < 11 - throw() -#else - noexcept -#endif +void operator delete[](void* p) TEST_NOEXCEPT { globalMemCounter.deleteArrayCalled(p); operator delete(p); Modified: libcxx/trunk/test/support/test_allocator.h URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/test_allocator.h?rev=289356&r1=289355&r2=289356&view=diff ============================================================================== --- libcxx/trunk/test/support/test_allocator.h (original) +++ libcxx/trunk/test/support/test_allocator.h Sat Dec 10 20:47:36 2016 @@ -61,13 +61,13 @@ public: template <class U> struct rebind {typedef test_allocator<U> other;}; - test_allocator() throw() : data_(0) {++count;} - explicit test_allocator(int i) throw() : data_(i) {++count;} - test_allocator(const test_allocator& a) throw() + test_allocator() TEST_NOEXCEPT : data_(0) {++count;} + explicit test_allocator(int i) TEST_NOEXCEPT : data_(i) {++count;} + test_allocator(const test_allocator& a) TEST_NOEXCEPT : data_(a.data_) {++count;} - template <class U> test_allocator(const test_allocator<U>& a) throw() + template <class U> test_allocator(const test_allocator<U>& a) TEST_NOEXCEPT : data_(a.data_) {++count;} - ~test_allocator() throw() {assert(data_ >= 0); --count; data_ = -1;} + ~test_allocator() TEST_NOEXCEPT {assert(data_ >= 0); --count; data_ = -1;} pointer address(reference x) const {return &x;} const_pointer address(const_reference x) const {return &x;} pointer allocate(size_type n, const void* = 0) @@ -86,7 +86,7 @@ public: } void deallocate(pointer p, size_type) {assert(data_ >= 0); --alloc_count; ::operator delete((void*)p);} - size_type max_size() const throw() + size_type max_size() const TEST_NOEXCEPT {return UINT_MAX / sizeof(T);} #if TEST_STD_VER < 11 void construct(pointer p, const T& val) @@ -122,13 +122,13 @@ public: template <class U> struct rebind {typedef non_default_test_allocator<U> other;}; -// non_default_test_allocator() throw() : data_(0) {++count;} - explicit non_default_test_allocator(int i) throw() : data_(i) {++count;} - non_default_test_allocator(const non_default_test_allocator& a) throw() +// non_default_test_allocator() TEST_NOEXCEPT : data_(0) {++count;} + explicit non_default_test_allocator(int i) TEST_NOEXCEPT : data_(i) {++count;} + non_default_test_allocator(const non_default_test_allocator& a) TEST_NOEXCEPT : data_(a.data_) {++count;} - template <class U> non_default_test_allocator(const non_default_test_allocator<U>& a) throw() + template <class U> non_default_test_allocator(const non_default_test_allocator<U>& a) TEST_NOEXCEPT : data_(a.data_) {++count;} - ~non_default_test_allocator() throw() {assert(data_ >= 0); --count; data_ = -1;} + ~non_default_test_allocator() TEST_NOEXCEPT {assert(data_ >= 0); --count; data_ = -1;} pointer address(reference x) const {return &x;} const_pointer address(const_reference x) const {return &x;} pointer allocate(size_type n, const void* = 0) @@ -147,7 +147,7 @@ public: } void deallocate(pointer p, size_type) {assert(data_ >= 0); --alloc_count; ::operator delete((void*)p); } - size_type max_size() const throw() + size_type max_size() const TEST_NOEXCEPT {return UINT_MAX / sizeof(T);} #if TEST_STD_VER < 11 void construct(pointer p, const T& val) @@ -181,13 +181,13 @@ public: template <class U> struct rebind {typedef test_allocator<U> other;}; - test_allocator() throw() : data_(0) {} - explicit test_allocator(int i) throw() : data_(i) {} - test_allocator(const test_allocator& a) throw() + test_allocator() TEST_NOEXCEPT : data_(0) {} + explicit test_allocator(int i) TEST_NOEXCEPT : data_(i) {} + test_allocator(const test_allocator& a) TEST_NOEXCEPT : data_(a.data_) {} - template <class U> test_allocator(const test_allocator<U>& a) throw() + template <class U> test_allocator(const test_allocator<U>& a) TEST_NOEXCEPT : data_(a.data_) {} - ~test_allocator() throw() {data_ = -1;} + ~test_allocator() TEST_NOEXCEPT {data_ = -1;} friend bool operator==(const test_allocator& x, const test_allocator& y) {return x.data_ == y.data_;} Modified: libcxx/trunk/test/support/test_macros.h URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/test_macros.h?rev=289356&r1=289355&r2=289356&view=diff ============================================================================== --- libcxx/trunk/test/support/test_macros.h (original) +++ libcxx/trunk/test/support/test_macros.h Sat Dec 10 20:47:36 2016 @@ -86,6 +86,8 @@ #endif #if TEST_STD_VER >= 11 +#define TEST_ALIGNOF(...) alignof(__VA_ARGS__) +#define TEST_ALIGNAS(...) alignas(__VA_ARGS__) #define TEST_CONSTEXPR constexpr #define TEST_NOEXCEPT noexcept #define TEST_NOEXCEPT_COND(...) noexcept(__VA_ARGS__) @@ -94,15 +96,19 @@ # else # define TEST_CONSTEXPR_CXX14 # endif -#define TEST_ALIGNOF(...) alignof(__VA_ARGS__) -#define TEST_ALIGNAS(...) alignas(__VA_ARGS__) +# if TEST_STD_VER > 14 +# define TEST_THROW_SPEC(...) +# else +# define TEST_THROW_SPEC(...) throw(__VA_ARGS__) +# endif #else +#define TEST_ALIGNOF(...) __alignof(__VA_ARGS__) +#define TEST_ALIGNAS(...) __attribute__((__aligned__(__VA_ARGS__))) #define TEST_CONSTEXPR #define TEST_CONSTEXPR_CXX14 #define TEST_NOEXCEPT throw() #define TEST_NOEXCEPT_COND(...) -#define TEST_ALIGNOF(...) __alignof(__VA_ARGS__) -#define TEST_ALIGNAS(...) __attribute__((__aligned__(__VA_ARGS__))) +#define TEST_THROW_SPEC(...) throw(__VA_ARGS__) #endif #define TEST_ALIGNAS_TYPE(...) TEST_ALIGNAS(TEST_ALIGNOF(__VA_ARGS__)) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits