Fix warning by adding missing delete operator functions
Also override new/delete operators to call in FreeRTOS malloc/free in
the freeRTOS example app.
Change-Id: I08c0780c907e5fe90ccb1679869d3f41c87c2731
diff --git a/applications/freertos/main.cpp b/applications/freertos/main.cpp
index 1e71e7f..d579944 100644
--- a/applications/freertos/main.cpp
+++ b/applications/freertos/main.cpp
@@ -59,6 +59,34 @@
#endif
/****************************************************************************
+ * Override new operators to call in FreeRTOS allocator
+ ****************************************************************************/
+
+void *operator new(size_t size) {
+ return pvPortMalloc(size);
+}
+
+void *operator new[](size_t size) {
+ return pvPortMalloc(size);
+}
+
+void operator delete(void *ptr) {
+ vPortFree(ptr);
+}
+
+void operator delete(void *ptr, std::size_t) {
+ vPortFree(ptr);
+}
+
+void operator delete[](void *ptr) {
+ vPortFree(ptr);
+}
+
+void operator delete[](void *ptr, std::size_t) {
+ vPortFree(ptr);
+}
+
+/****************************************************************************
* InferenceJob
****************************************************************************/
diff --git a/applications/message_handler/main.cpp b/applications/message_handler/main.cpp
index 8db9e0b..73eb398 100644
--- a/applications/message_handler/main.cpp
+++ b/applications/message_handler/main.cpp
@@ -98,10 +98,18 @@
vPortFree(ptr);
}
+void operator delete(void *ptr, std::size_t) {
+ vPortFree(ptr);
+}
+
void operator delete[](void *ptr) {
vPortFree(ptr);
}
+void operator delete[](void *ptr, std::size_t) {
+ vPortFree(ptr);
+}
+
/****************************************************************************
* Mutex & Semaphore
****************************************************************************/