Skip to content
Snippets Groups Projects
Commit 25a65844 authored by Nat Goodspeed's avatar Nat Goodspeed
Browse files

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.
parent 3753dbd5
No related branches found
No related tags found
No related merge requests found
......@@ -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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment