diff options
-rw-r--r-- | src/libc_override_gcc_and_weak.h | 28 | ||||
-rw-r--r-- | src/libc_override_redefine.h | 16 | ||||
-rw-r--r-- | src/tcmalloc.cc | 2 | ||||
-rw-r--r-- | src/windows/get_mangled_names.cc | 12 |
4 files changed, 29 insertions, 29 deletions
diff --git a/src/libc_override_gcc_and_weak.h b/src/libc_override_gcc_and_weak.h index 8b1e56a..5c4e6dd 100644 --- a/src/libc_override_gcc_and_weak.h +++ b/src/libc_override_gcc_and_weak.h @@ -59,36 +59,36 @@ void* operator new(size_t size) PERFTOOLS_THROW(std::bad_alloc) ALIAS(tc_new); -void operator delete(void* p) throw() +void operator delete(void* p) PERFTOOLS_NOTHROW ALIAS(tc_delete); void* operator new[](size_t size) PERFTOOLS_THROW(std::bad_alloc) ALIAS(tc_newarray); -void operator delete[](void* p) throw() +void operator delete[](void* p) PERFTOOLS_NOTHROW ALIAS(tc_deletearray); -void* operator new(size_t size, const std::nothrow_t& nt) throw() +void* operator new(size_t size, const std::nothrow_t& nt) PERFTOOLS_NOTHROW ALIAS(tc_new_nothrow); -void* operator new[](size_t size, const std::nothrow_t& nt) throw() +void* operator new[](size_t size, const std::nothrow_t& nt) PERFTOOLS_NOTHROW ALIAS(tc_newarray_nothrow); -void operator delete(void* p, const std::nothrow_t& nt) throw() +void operator delete(void* p, const std::nothrow_t& nt) PERFTOOLS_NOTHROW ALIAS(tc_delete_nothrow); -void operator delete[](void* p, const std::nothrow_t& nt) throw() +void operator delete[](void* p, const std::nothrow_t& nt) PERFTOOLS_NOTHROW ALIAS(tc_deletearray_nothrow); #if defined(ENABLE_SIZED_DELETE) -void operator delete(void *p, size_t size) throw() +void operator delete(void *p, size_t size) PERFTOOLS_NOTHROW ALIAS(tc_delete_sized); -void operator delete[](void *p, size_t size) throw() +void operator delete[](void *p, size_t size) PERFTOOLS_NOTHROW ALIAS(tc_deletearray_sized); #elif defined(ENABLE_DYNAMIC_SIZED_DELETE) && \ (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 -static void delegate_sized_delete(void *p, size_t s) throw() { +static void delegate_sized_delete(void *p, size_t s) PERFTOOLS_NOTHROW { (operator delete)(p); } -static void delegate_sized_deletearray(void *p, size_t s) throw() { +static void delegate_sized_deletearray(void *p, size_t s) PERFTOOLS_NOTHROW { (operator delete[])(p); } @@ -122,16 +122,16 @@ static void *resolve_deletearray_sized(void) { } -void operator delete(void *p, size_t size) throw() +void operator delete(void *p, size_t size) PERFTOOLS_NOTHROW __attribute__((ifunc("resolve_delete_sized"))); -void operator delete[](void *p, size_t size) throw() +void operator delete[](void *p, size_t size) PERFTOOLS_NOTHROW __attribute__((ifunc("resolve_deletearray_sized"))); #else /* !ENABLE_SIZED_DELETE && !ENABLE_DYN_SIZED_DELETE */ -void operator delete(void *p, size_t size) throw() +void operator delete(void *p, size_t size) PERFTOOLS_NOTHROW ALIAS(tc_delete); -void operator delete[](void *p, size_t size) throw() +void operator delete[](void *p, size_t size) PERFTOOLS_NOTHROW ALIAS(tc_deletearray); #endif /* !ENABLE_SIZED_DELETE && !ENABLE_DYN_SIZED_DELETE */ diff --git a/src/libc_override_redefine.h b/src/libc_override_redefine.h index 72679ef..66f6e8c 100644 --- a/src/libc_override_redefine.h +++ b/src/libc_override_redefine.h @@ -43,25 +43,25 @@ #define TCMALLOC_LIBC_OVERRIDE_REDEFINE_H_ void* operator new(size_t size) { return tc_new(size); } -void operator delete(void* p) throw() { tc_delete(p); } +void operator delete(void* p) PERFTOOLS_NOTHROW { tc_delete(p); } void* operator new[](size_t size) { return tc_newarray(size); } -void operator delete[](void* p) throw() { tc_deletearray(p); } -void* operator new(size_t size, const std::nothrow_t& nt) throw() { +void operator delete[](void* p) PERFTOOLS_NOTHROW { tc_deletearray(p); } +void* operator new(size_t size, const std::nothrow_t& nt) PERFTOOLS_NOTHROW { return tc_new_nothrow(size, nt); } -void* operator new[](size_t size, const std::nothrow_t& nt) throw() { +void* operator new[](size_t size, const std::nothrow_t& nt) PERFTOOLS_NOTHROW { return tc_newarray_nothrow(size, nt); } -void operator delete(void* ptr, const std::nothrow_t& nt) throw() { +void operator delete(void* ptr, const std::nothrow_t& nt) PERFTOOLS_NOTHROW { return tc_delete_nothrow(ptr, nt); } -void operator delete[](void* ptr, const std::nothrow_t& nt) throw() { +void operator delete[](void* ptr, const std::nothrow_t& nt) PERFTOOLS_NOTHROW { return tc_deletearray_nothrow(ptr, nt); } #ifdef ENABLE_SIZED_DELETE -void operator delete(void* p, size_t s) throw() { tc_delete_sized(p, s); } -void operator delete[](void* p, size_t s) throw(){ tc_deletearray_sized(p); } +void operator delete(void* p, size_t s) PERFTOOLS_NOTHROW { tc_delete_sized(p, s); } +void operator delete[](void* p, size_t s) PERFTOOLS_NOTHROW{ tc_deletearray_sized(p); } #endif extern "C" { diff --git a/src/tcmalloc.cc b/src/tcmalloc.cc index 39157a9..c062bad 100644 --- a/src/tcmalloc.cc +++ b/src/tcmalloc.cc @@ -90,7 +90,7 @@ #include "config.h" // At least for gcc on Linux/i386 and Linux/amd64 not adding throw() // to tc_xxx functions actually ends up generating better code. -#ifdef __GNUC__ +#if defined(__GNUC__) && (__cplusplus < 201103L) #define PERFTOOLS_NOTHROW #endif #include <gperftools/tcmalloc.h> diff --git a/src/windows/get_mangled_names.cc b/src/windows/get_mangled_names.cc index 08bd03b..30ac20e 100644 --- a/src/windows/get_mangled_names.cc +++ b/src/windows/get_mangled_names.cc @@ -55,11 +55,11 @@ static char m; // some dummy memory so new doesn't return NULL. void* operator new(size_t size) { return &m; } -void operator delete(void* p) throw() { } +void operator delete(void* p) PERFTOOLS_NOTHROW { } void* operator new[](size_t size) { return &m; } -void operator delete[](void* p) throw() { } +void operator delete[](void* p) PERFTOOLS_NOTHROW { } -void* operator new(size_t size, const std::nothrow_t&) throw() { return &m; } -void operator delete(void* p, const std::nothrow_t&) throw() { } -void* operator new[](size_t size, const std::nothrow_t&) throw() { return &m; } -void operator delete[](void* p, const std::nothrow_t&) throw() { } +void* operator new(size_t size, const std::nothrow_t&) PERFTOOLS_NOTHROW { return &m; } +void operator delete(void* p, const std::nothrow_t&) PERFTOOLS_NOTHROW { } +void* operator new[](size_t size, const std::nothrow_t&) PERFTOOLS_NOTHROW { return &m; } +void operator delete[](void* p, const std::nothrow_t&) PERFTOOLS_NOTHROW { } |