aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavide Grohmann <davide.grohmann@arm.com>2022-05-09 15:15:20 +0200
committerKristofer Jonsson <kristofer.jonsson@arm.com>2022-05-10 08:08:36 +0000
commitbbbd916878df7a72be504a238197cdff1cf43deb (patch)
tree9775ae043cc1b0a69b0a432bc3a96e8060071498
parenta739d21efeb9a5e79bc3454c4badad6477235969 (diff)
downloadethos-u-core-platform-bbbd916878df7a72be504a238197cdff1cf43deb.tar.gz
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
-rw-r--r--applications/freertos/main.cpp28
-rw-r--r--applications/message_handler/main.cpp8
2 files changed, 36 insertions, 0 deletions
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 @@ using namespace InferenceProcess;
#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 @@ 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);
+}
+
/****************************************************************************
* Mutex & Semaphore
****************************************************************************/