diff options
Diffstat (limited to 'FoundationEx')
-rw-r--r-- | FoundationEx/MemDebug.cpp | 15 | ||||
-rw-r--r-- | FoundationEx/MemDebug.h | 19 |
2 files changed, 24 insertions, 10 deletions
diff --git a/FoundationEx/MemDebug.cpp b/FoundationEx/MemDebug.cpp index 2694b33..3e1c0f5 100644 --- a/FoundationEx/MemDebug.cpp +++ b/FoundationEx/MemDebug.cpp @@ -61,6 +61,21 @@ static HANDLE mem_log_file = 0; #define CrtClrDebugField(a) _CrtSetDbgFlag(~(a) & _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG)) #endif +inline void* __cdecl operator new(unsigned int s, const char* f, int l) +{ + return ::operator new(s, 1, f, l); +} + +inline void* __cdecl operator new(unsigned int s) +{ + return ::operator new(s, 1, __FILE__, __LINE__); +} + +inline void __cdecl operator delete(void* p, const char*, int) +{ + ::operator delete(p); +} + static void heapdump() { _HEAPINFO hinfo; diff --git a/FoundationEx/MemDebug.h b/FoundationEx/MemDebug.h index 14bc0cf..39e8dca 100644 --- a/FoundationEx/MemDebug.h +++ b/FoundationEx/MemDebug.h @@ -51,8 +51,8 @@ #ifndef _DEBUG -inline void* __cdecl operator new(unsigned int s, const char*, int) { return ::operator new(s); } -inline void __cdecl operator delete(void* p, const char*, int) { ::operator delete(p); } +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); } #else @@ -89,21 +89,20 @@ public: #ifndef _DEBUG -inline void* __cdecl operator new(unsigned int s, const char*, int) { return ::operator new(s); } -inline void __cdecl operator delete(void* p, const char*, int) { ::operator delete(p); } + + +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); } #else /*_CRTIMP*/ void* __cdecl operator new(unsigned int, int, const char*, int); -inline void* __cdecl operator new(unsigned int s, const char* f, int l) - { return ::operator new(s, 1, f, l); } +void* __cdecl operator new(unsigned int s, const char* f, int l); -inline void* __cdecl operator new(unsigned int s) - { return ::operator new(s, 1, __FILE__, __LINE__); } +void* __cdecl operator new(unsigned int s); -inline void __cdecl operator delete(void* p, const char*, int) - { ::operator delete(p); } +void __cdecl operator delete(void* p, const char*, int); #endif _DEBUG |