forked from OSchip/llvm-project
Fix more uses of dynamic exception specifications in C++17
llvm-svn: 289356
This commit is contained in:
parent
e297b527a1
commit
3ca4566452
|
@ -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);
|
||||
|
|
|
@ -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::align_val_t a) throw(std::bad_alloc)
|
|||
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);
|
||||
|
|
|
@ -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::align_val_t a) throw(std::bad_alloc)
|
|||
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;
|
||||
|
|
|
@ -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(std::bad_alloc)
|
|||
return ret;
|
||||
}
|
||||
|
||||
void operator delete(void* p) throw()
|
||||
void operator delete(void* p) TEST_NOEXCEPT
|
||||
{
|
||||
--new_called;
|
||||
std::free(p);
|
||||
|
|
|
@ -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(std::bad_alloc)
|
|||
return ret;
|
||||
}
|
||||
|
||||
void operator delete(void* p) throw()
|
||||
void operator delete(void* p) TEST_NOEXCEPT
|
||||
{
|
||||
--new_called;
|
||||
std::free(p);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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::align_val_t a) throw(std::bad_alloc)
|
|||
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);
|
||||
|
|
|
@ -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::align_val_t a) throw(std::bad_alloc)
|
|||
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;
|
||||
|
|
|
@ -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(std::bad_alloc)
|
|||
return ret;
|
||||
}
|
||||
|
||||
void operator delete(void* p) throw()
|
||||
void operator delete(void* p) TEST_NOEXCEPT
|
||||
{
|
||||
--new_called;
|
||||
std::free(p);
|
||||
|
|
|
@ -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(std::bad_alloc)
|
|||
return ret;
|
||||
}
|
||||
|
||||
void operator delete(void* p) throw()
|
||||
void operator delete(void* p) TEST_NOEXCEPT
|
||||
{
|
||||
--new_called;
|
||||
std::free(p);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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_;}
|
||||
|
|
|
@ -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__))
|
||||
|
|
Loading…
Reference in New Issue