diff --git a/src/alloc.cpp b/src/alloc.cpp new file mode 100644 index 000000000..ddbbdab05 --- /dev/null +++ b/src/alloc.cpp @@ -0,0 +1,31 @@ +#include "rtos.h" +#include +#include + +/** + * Custom new/delete to panic if out out memory + */ + +void *operator new(size_t size) +{ + auto p = rtos_malloc(size); + assert(p); + return p; +} + +void *operator new[](size_t size) +{ + auto p = rtos_malloc(size); + assert(p); + return p; +} + +void operator delete(void *ptr) +{ + rtos_free(ptr); +} + +void operator delete[](void *ptr) +{ + rtos_free(ptr); +} \ No newline at end of file