model: schedule appropriate fence backtracking points
[c11tester.git] / mymemory.h
index 05b89be959e0872386d955ebffd09b3b4076ffae..f2a31865ba85a9272794514de14e3179bb2da01e 100644 (file)
@@ -4,8 +4,8 @@
 
 #ifndef _MY_MEMORY_H
 #define _MY_MEMORY_H
-#include <stdlib.h>
 #include <limits>
+#include <stddef.h>
 
 #include "config.h"
 
@@ -23,6 +23,9 @@
        } \
        void operator delete[](void *p, size_t size) { \
                model_free(p); \
+       } \
+       void * operator new(size_t size, void *p) { /* placement new */ \
+               return p; \
        }
 
 /** SNAPSHOTALLOC declares the allocators for a class to allocate
@@ -39,6 +42,9 @@
        } \
        void operator delete[](void *p, size_t size) { \
                snapshot_free(p); \
+       } \
+       void * operator new(size_t size, void *p) { /* placement new */ \
+               return p; \
        }
 
 void *model_malloc(size_t size);