DRTVWR-476: Remove throw(T) from operator new(), operator delete().
llcorehttp's test_allocator.{h,cpp} overrides global operator new(), operator
new[](), operator delete() and operator delete[](). The two operator new()
functions used to be declared with throw(std::bad_alloc). Worse, for VS 2013
and previous, we needed _THROW0() and _THROW1(std::bad_alloc) instead,
requiring #if logic.
But with dynamic throw declarations deprecated, we must actually remove those.
That obviates the THROW_BAD_ALLOC() / THROW_NOTHING() workarounds in
test_allocator.cpp.
master
parent
1d11bc3c03
commit
fba4b6ce76
|
|
@ -43,16 +43,6 @@
|
|||
|
||||
#include <boost/thread.hpp>
|
||||
|
||||
|
||||
#if defined(WIN32)
|
||||
#define THROW_BAD_ALLOC() _THROW1(std::bad_alloc)
|
||||
#define THROW_NOTHING() _THROW0()
|
||||
#else
|
||||
#define THROW_BAD_ALLOC() throw(std::bad_alloc)
|
||||
#define THROW_NOTHING() throw()
|
||||
#endif
|
||||
|
||||
|
||||
struct BlockHeader
|
||||
{
|
||||
struct Block * next;
|
||||
|
|
@ -152,19 +142,19 @@ std::size_t GetMemTotal()
|
|||
}
|
||||
|
||||
|
||||
void * operator new(std::size_t size) THROW_BAD_ALLOC()
|
||||
void * operator new(std::size_t size) //throw(std::bad_alloc)
|
||||
{
|
||||
return GetMem( size );
|
||||
}
|
||||
|
||||
|
||||
void * operator new[](std::size_t size) THROW_BAD_ALLOC()
|
||||
void * operator new[](std::size_t size) //throw(std::bad_alloc)
|
||||
{
|
||||
return GetMem( size );
|
||||
}
|
||||
|
||||
|
||||
void operator delete(void * p) THROW_NOTHING()
|
||||
void operator delete(void * p) throw()
|
||||
{
|
||||
if (p)
|
||||
{
|
||||
|
|
@ -173,7 +163,7 @@ void operator delete(void * p) THROW_NOTHING()
|
|||
}
|
||||
|
||||
|
||||
void operator delete[](void * p) THROW_NOTHING()
|
||||
void operator delete[](void * p) throw()
|
||||
{
|
||||
if (p)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -31,17 +31,10 @@
|
|||
#include <new>
|
||||
|
||||
size_t GetMemTotal();
|
||||
#if defined(WIN32)
|
||||
void * operator new(std::size_t size) _THROW1(std::bad_alloc);
|
||||
void * operator new[](std::size_t size) _THROW1(std::bad_alloc);
|
||||
void operator delete(void * p) _THROW0();
|
||||
void operator delete[](void * p) _THROW0();
|
||||
#else
|
||||
void * operator new(std::size_t size) throw (std::bad_alloc);
|
||||
void * operator new[](std::size_t size) throw (std::bad_alloc);
|
||||
void * operator new(std::size_t size); //throw (std::bad_alloc);
|
||||
void * operator new[](std::size_t size); //throw (std::bad_alloc);
|
||||
void operator delete(void * p) throw ();
|
||||
void operator delete[](void * p) throw ();
|
||||
#endif
|
||||
|
||||
#endif // TEST_ALLOCATOR_H
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue