summaryrefslogtreecommitdiffhomepage
path: root/FoundationEx
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2021-10-02 13:41:10 +0200
committerAki <please@ignore.pl>2021-10-02 13:41:10 +0200
commit5f5aa47b4260d4e688acdd85558baedfc99da752 (patch)
tree9d21b355089df1d492cd7f65dadb8e0235e8c760 /FoundationEx
parent309d3544ca7ab144fa5c60f1cf83b38f17d070b7 (diff)
downloadstarshatter-5f5aa47b4260d4e688acdd85558baedfc99da752.zip
starshatter-5f5aa47b4260d4e688acdd85558baedfc99da752.tar.gz
starshatter-5f5aa47b4260d4e688acdd85558baedfc99da752.tar.bz2
Added missing new[] debug overload
Diffstat (limited to 'FoundationEx')
-rw-r--r--FoundationEx/MemDebug.cpp20
-rw-r--r--FoundationEx/MemDebug.h10
2 files changed, 30 insertions, 0 deletions
diff --git a/FoundationEx/MemDebug.cpp b/FoundationEx/MemDebug.cpp
index 2a02a2e..060df5a 100644
--- a/FoundationEx/MemDebug.cpp
+++ b/FoundationEx/MemDebug.cpp
@@ -89,11 +89,21 @@ void __cdecl operator delete(void* p, const char*, int)
#ifndef _DEBUG
+void* __cdecl operator new[](unsigned int s, const char*, int)
+{
+ return ::operator new[](s);
+}
+
void* __cdecl operator new(unsigned int s, const char*, int)
{
return ::operator new(s);
}
+void __cdecl operator delete[](void* p, const char*, int)
+{
+ ::operator delete[](p);
+}
+
void __cdecl operator delete(void* p, const char*, int)
{
::operator delete(p);
@@ -104,6 +114,11 @@ void __cdecl operator delete(void* p, const char*, int)
// No definitions for the following:
//void* __cdecl operator new(unsigned int, int, const char*, int) {}
+void* __cdecl operator new[](unsigned int s, const char*, int)
+{
+ return ::operator new[](s);
+}
+
void* __cdecl operator new(unsigned int s, const char* f, int l)
{
return ::operator new(s, 1, f, l);
@@ -114,6 +129,11 @@ void* __cdecl operator new(unsigned int s)
return ::operator new(s, 1, __FILE__, __LINE__);
}
+void __cdecl operator delete[](void* p, const char*, int)
+{
+ ::operator delete[](p);
+}
+
void __cdecl operator delete(void* p, const char*, int)
{
::operator delete(p);
diff --git a/FoundationEx/MemDebug.h b/FoundationEx/MemDebug.h
index f8ca60e..bcf217f 100644
--- a/FoundationEx/MemDebug.h
+++ b/FoundationEx/MemDebug.h
@@ -51,12 +51,16 @@
#ifndef _DEBUG
+void* __cdecl operator new[](unsigned int, const char*, int);
void* __cdecl operator new(unsigned int s, const char*, int);
+void __cdecl operator delete[](void* p, const char*, int);
void __cdecl operator delete(void* p, const char*, int);
#else
+void* __cdecl operator new[](unsigned int, const char*, int);
void* __cdecl operator new(unsigned int s, const char*, int);
+void __cdecl operator delete[](void* p, const char*, int);
void __cdecl operator delete(void* p, const char*, int);
#endif
@@ -89,17 +93,23 @@ public:
#ifndef _DEBUG
+void* __cdecl operator new[](unsigned int, const char*, int);
void* __cdecl operator new(unsigned int s, const char*, int);
+void __cdecl operator delete[](void* p, const char*, int);
void __cdecl operator delete(void* p, const char*, int);
#else
/*_CRTIMP*/
+void* __cdecl operator new[](unsigned int, const char*, int);
+
void* __cdecl operator new(unsigned int, int, const char*, int);
void* __cdecl operator new(unsigned int s, const char* f, int l);
void* __cdecl operator new(unsigned int s);
+void __cdecl operator delete[](void* p, const char*, int);
+
void __cdecl operator delete(void* p, const char*, int);
#endif // _DEBUG