static void *dummy = NULL;
-void *operator new(size_t size) throw ()
+void *operator new(size_t size) throw (std::bad_alloc)
{
return Malloc(size);
}
-void *operator new[](size_t size) throw ()
+void *operator new[](size_t size) throw (std::bad_alloc)
{
if (size == 0) return &dummy;
else return Malloc(size);
else return Malloc_dbg(file, line, size);
}
+void* operator new(size_t size, const std::nothrow_t&, const char* file, int line)
+{
+ return Malloc_dbg(file, line, size);
+}
+
+void* operator new[](size_t size, const std::nothrow_t&, const char* file, int line)
+{
+ if (size == 0) return &dummy;
+ else return Malloc_dbg(file, line, size);
+}
+
int debug_new_counter_t::count = 0; // initial value
#if defined(__CYGWIN__) || defined(INTERIX)