summaryrefslogtreecommitdiff
path: root/src/memory.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/memory.cc')
-rw-r--r--src/memory.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/memory.cc b/src/memory.cc
index de4bc0c..0c4ad3b 100644
--- a/src/memory.cc
+++ b/src/memory.cc
@@ -7,6 +7,7 @@
#include <malloc.h>
#include "stdexcept.h"
+__attribute__((weak))
void * operator new(size_t size) {
void * mem = malloc(size);
if(mem == NULL) {
@@ -17,7 +18,21 @@ void * operator new(size_t size) {
}
+__attribute__((weak))
void operator delete(void * ptr) {
free(ptr);
}
+
+__attribute__((weak))
+void * operator new[](size_t size) {
+ return ::operator new(size);
+}
+
+
+__attribute__((weak))
+void operator delete[](void * ptr) {
+ ::operator delete(ptr);
+}
+
+