1 /* Copyright (c) 2015 Regents of the University of California
3 * Author: Brian Demsky <bdemsky@uci.edu>
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * version 2 as published by the Free Software Foundation.
11 * @brief Memory allocation functions.
14 #ifndef CSAT_MY_MEMORY_H
15 #define CSAT_MY_MEMORY_H
22 #define SATCHECK_CONFIG
25 void * ourmalloc(size_t size);
26 void ourfree(void *ptr);
27 void * ourcalloc(size_t count, size_t size);
28 void * ourrealloc(void *ptr, size_t size);
32 void *model_malloc(size_t size);
33 void model_free(void *ptr);
34 void *model_calloc(size_t count, size_t size);
35 void *model_realloc(void *ptr, size_t size);
38 #define ourmalloc model_malloc
39 #define ourfree model_free
40 #define ourrealloc model_realloc
41 #define ourcalloc model_calloc
44 static inline void *ourmalloc(size_t size) { return malloc(size); }
45 static inline void ourfree(void *ptr) { free(ptr); }
46 static inline void *ourcalloc(size_t count, size_t size) { return calloc(count, size); }
47 static inline void *ourrealloc(void *ptr, size_t size) { return realloc(ptr, size); }
51 void *operator new(size_t size) { \
52 return ourmalloc(size); \
54 void operator delete(void *p, size_t size) { \
57 void *operator new[](size_t size) { \
58 return ourmalloc(size); \
60 void operator delete[](void *p, size_t size) { \
63 void *operator new(size_t size, void *p) { /* placement new */ \
67 #endif/* _MY_MEMORY_H */