diff --git a/drivers/CircularBuffer/CircularBuffer.h b/drivers/CircularBuffer/CircularBuffer.h index 56258ed..0f03b49 100644 --- a/drivers/CircularBuffer/CircularBuffer.h +++ b/drivers/CircularBuffer/CircularBuffer.h @@ -1,4 +1,4 @@ -/* +/* CircularBuffer - An Arduino circular buffering library for arbitrary types. Created by Ivo Pullens, Emmission, 2014-2016 -- www.emmission.nl @@ -88,9 +88,11 @@ public: */ inline uint8_t available(void) const { + uint8_t ret_value; MY_CRITICAL_SECTION { - return m_fill; + ret_value = m_fill; } + return ret_value; } /** diff --git a/hal/architecture/MyHwNRF5.h b/hal/architecture/MyHwNRF5.h index e7c788d..1586d1c 100644 --- a/hal/architecture/MyHwNRF5.h +++ b/hal/architecture/MyHwNRF5.h @@ -130,9 +130,7 @@ typedef struct { } nrf_ecb_t; #ifndef DOXYGEN -#define MY_CRITICAL_SECTION -// temp. commented, to fix "CircularBuffer.h:94:2: warning: control reaches end of non-void function" error -#define __MY_CRITICAL_SECTION \ +#define MY_CRITICAL_SECTION \ for (uint32_t __savePriMask \ __attribute__((__cleanup__(__priMaskRestore))) = __get_PRIMASK(), \ __ToDo = __disableIntsRetVal(); \