Skip to content
This repository was archived by the owner on Jun 30, 2025. It is now read-only.

Commit 717f569

Browse files
committed
fixed exception specification mismatch
1 parent eca3dde commit 717f569

1 file changed

Lines changed: 15 additions & 11 deletions

File tree

src/googletest.h

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,18 +37,16 @@
3737

3838
#include "utilities.h"
3939

40-
#include <ctype.h>
41-
#include <setjmp.h>
42-
#include <time.h>
43-
40+
#include <cctype>
41+
#include <csetjmp>
42+
#include <cstdio>
43+
#include <cstdlib>
44+
#include <ctime>
4445
#include <map>
4546
#include <sstream>
4647
#include <string>
4748
#include <vector>
4849

49-
#include <stdio.h>
50-
#include <stdlib.h>
51-
5250
#include <sys/types.h>
5351
#include <sys/stat.h>
5452
#include <fcntl.h>
@@ -58,6 +56,12 @@
5856

5957
#include "base/commandlineflags.h"
6058

59+
#if __cplusplus < 201103L && !defined(_MSC_VER)
60+
#define GOOGLE_GLOG_THROW_BAD_ALLOC throw (std::bad_alloc)
61+
#else
62+
#define GOOGLE_GLOG_THROW_BAD_ALLOC
63+
#endif
64+
6165
using std::map;
6266
using std::string;
6367
using std::vector;
@@ -601,21 +605,21 @@ void (*g_new_hook)() = NULL;
601605

602606
_END_GOOGLE_NAMESPACE_
603607

604-
void* operator new(size_t size) {
608+
void* operator new(size_t size) GOOGLE_GLOG_THROW_BAD_ALLOC {
605609
if (GOOGLE_NAMESPACE::g_new_hook) {
606610
GOOGLE_NAMESPACE::g_new_hook();
607611
}
608612
return malloc(size);
609613
}
610614

611-
void* operator new[](size_t size) {
615+
void* operator new[](size_t size) GOOGLE_GLOG_THROW_BAD_ALLOC {
612616
return ::operator new(size);
613617
}
614618

615-
void operator delete(void* p) {
619+
void operator delete(void* p) throw() {
616620
free(p);
617621
}
618622

619-
void operator delete[](void* p) {
623+
void operator delete[](void* p) throw() {
620624
::operator delete(p);
621625
}

0 commit comments

Comments
 (0)