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 @@ ...@@ -43,16 +43,6 @@
#include <boost/thread.hpp> #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 BlockHeader
{ {
struct Block * next; struct Block * next;
...@@ -152,19 +142,19 @@ std::size_t GetMemTotal() ...@@ -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 ); 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 ); return GetMem( size );
} }
void operator delete(void * p) THROW_NOTHING() void operator delete(void * p) throw()
{ {
if (p) if (p)
{ {
...@@ -173,7 +163,7 @@ void operator delete(void * p) THROW_NOTHING() ...@@ -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) if (p)
{ {
......
...@@ -31,17 +31,10 @@ ...@@ -31,17 +31,10 @@
#include <new> #include <new>
size_t GetMemTotal(); size_t GetMemTotal();
#if defined(WIN32) void * operator new(std::size_t size); //throw (std::bad_alloc);
void * operator new(std::size_t size) _THROW1(std::bad_alloc); void * operator new[](std::size_t size); //throw (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 delete(void * p) throw (); void operator delete(void * p) throw ();
void operator delete[](void * p) throw (); void operator delete[](void * p) throw ();
#endif
#endif // TEST_ALLOCATOR_H #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