From 717f5698356087bc896d1a755165157286c83802 Mon Sep 17 00:00:00 2001 From: Sergiu Deitsch Date: Wed, 14 Jul 2021 19:16:06 +0200 Subject: [PATCH] fixed exception specification mismatch --- src/googletest.h | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/googletest.h b/src/googletest.h index 6d023c6..801b559 100644 --- a/src/googletest.h +++ b/src/googletest.h @@ -37,18 +37,16 @@ #include "utilities.h" -#include -#include -#include - +#include +#include +#include +#include +#include #include #include #include #include -#include -#include - #include #include #include @@ -58,6 +56,12 @@ #include "base/commandlineflags.h" +#if __cplusplus < 201103L && !defined(_MSC_VER) +#define GOOGLE_GLOG_THROW_BAD_ALLOC throw (std::bad_alloc) +#else +#define GOOGLE_GLOG_THROW_BAD_ALLOC +#endif + using std::map; using std::string; using std::vector; @@ -601,21 +605,21 @@ void (*g_new_hook)() = NULL; _END_GOOGLE_NAMESPACE_ -void* operator new(size_t size) { +void* operator new(size_t size) GOOGLE_GLOG_THROW_BAD_ALLOC { if (GOOGLE_NAMESPACE::g_new_hook) { GOOGLE_NAMESPACE::g_new_hook(); } return malloc(size); } -void* operator new[](size_t size) { +void* operator new[](size_t size) GOOGLE_GLOG_THROW_BAD_ALLOC { return ::operator new(size); } -void operator delete(void* p) { +void operator delete(void* p) throw() { free(p); } -void operator delete[](void* p) { +void operator delete[](void* p) throw() { ::operator delete(p); }