MLBEDSW-3728 Resolve compiler warnings
Change-Id: I6245d4fa6cf32c9edb05f52bb07e1d7b6a1c17fe
diff --git a/applications/message_process/src/message_process.cc b/applications/message_process/src/message_process.cc
index 9c0fc84..13ed8c4 100644
--- a/applications/message_process/src/message_process.cc
+++ b/applications/message_process/src/message_process.cc
@@ -139,7 +139,8 @@
void QueueImpl::cleanHeaderData() const {
#if defined(__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
SCB_CleanDCache_by_Addr(reinterpret_cast<uint32_t *>(&queue.header), sizeof(queue.header));
- SCB_CleanDCache_by_Addr(reinterpret_cast<uint32_t *>(queue.data), queue.header.size);
+ uintptr_t queueDataPtr = reinterpret_cast<uintptr_t>(&queue.data[0]);
+ SCB_CleanDCache_by_Addr(reinterpret_cast<uint32_t *>(queueDataPtr & ~3), queue.header.size + (queueDataPtr & 3));
#endif
}
@@ -152,7 +153,9 @@
void QueueImpl::invalidateHeaderData() const {
#if defined(__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
SCB_InvalidateDCache_by_Addr(reinterpret_cast<uint32_t *>(&queue.header), sizeof(queue.header));
- SCB_InvalidateDCache_by_Addr(reinterpret_cast<uint32_t *>(queue.data), queue.header.size);
+ uintptr_t queueDataPtr = reinterpret_cast<uintptr_t>(&queue.data[0]);
+ SCB_InvalidateDCache_by_Addr(reinterpret_cast<uint32_t *>(queueDataPtr & ~3),
+ queue.header.size + (queueDataPtr & 3));
#endif
}