Adding stack trace procedure
[satune.git] / src / mymemory.h
index b778c48ae482aa383dc8d0ca6c506998bac77701..9708936e9d829934fd2176053ce37361a8edf6cb 100644 (file)
@@ -11,8 +11,8 @@
  *  @brief Memory allocation functions.
  */
 
-#ifndef _MY_MEMORY_H
-#define _MY_MEMORY_H
+#ifndef CSAT_MY_MEMORY_H
+#define CSAT_MY_MEMORY_H
 #include <limits.h>
 #include <stddef.h>
 #include <stdlib.h>
    void * ourrealloc(void *ptr, size_t size);
  */
 
+#if 0
+void *model_malloc(size_t size);
+void model_free(void *ptr);
+void *model_calloc(size_t count, size_t size);
+void *model_realloc(void *ptr, size_t size);
+
+
+#define ourmalloc model_malloc
+#define ourfree model_free
+#define ourrealloc model_realloc
+#define ourcalloc model_calloc
+
+#else
 static inline void *ourmalloc(size_t size) { return malloc(size); }
 static inline void ourfree(void *ptr) { free(ptr); }
 static inline void *ourcalloc(size_t count, size_t size) { return calloc(count, size); }
 static inline void *ourrealloc(void *ptr, size_t size) { return realloc(ptr, size); }
+#endif
+
+#define CMEMALLOC                           \
+       void *operator new(size_t size) {       \
+               return ourmalloc(size);                \
+       }                                                  \
+       void operator delete(void *p, size_t size) {       \
+               ourfree(p);                                      \
+       }                                                  \
+       void *operator new[](size_t size) {               \
+               return ourmalloc(size);                          \
+       }                                                    \
+       void operator delete[](void *p, size_t size) {       \
+               ourfree(p);                                        \
+       }                                                                     \
+       void *operator new(size_t size, void *p) {                                                                                                                      /* placement new */ \
+               return p;                                                           \
+       }
 
 #endif/* _MY_MEMORY_H */