--- src/common/classes/alloc.cpp
+++ src/common/classes/alloc.cpp
@@ -2121,3 +2121,11 @@
 {
 	Firebird::MemoryPool::globalFree(mem);
 }
+void operator delete(void* mem, size_t) throw()
+{
+	Firebird::MemoryPool::globalFree(mem);
+}
+void operator delete[](void* mem, size_t) throw()
+{
+	Firebird::MemoryPool::globalFree(mem);
+}
--- src/common/classes/alloc.h
+++ src/common/classes/alloc.h
@@ -491,13 +491,6 @@
 
 inline static MemoryPool* getDefaultMemoryPool() { return Firebird::MemoryPool::processMemoryPool; }
 
-// Global versions of operators new and delete
-void* operator new(size_t s) THROW_BAD_ALLOC;
-void* operator new[](size_t s) THROW_BAD_ALLOC;
-
-void operator delete(void* mem) throw();
-void operator delete[](void* mem) throw();
-
 #ifdef DEBUG_GDS_ALLOC
 inline void* operator new(size_t s, Firebird::MemoryPool& pool, const char* file, int line)
 {
