From d96343d4870233d9de3e716f62c7074fb896a2b7 Mon Sep 17 00:00:00 2001 From: Frantisek Burian Date: Thu, 16 Jan 2014 09:59:15 -0800 Subject: [PATCH] [FIX] Fix the ATOMIC suport. --- include/libopencm3/cm3/cortex.h | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/include/libopencm3/cm3/cortex.h b/include/libopencm3/cm3/cortex.h index 2d6377e7..eb9cb091 100644 --- a/include/libopencm3/cm3/cortex.h +++ b/include/libopencm3/cm3/cortex.h @@ -162,11 +162,9 @@ static inline bool __cm_atomic_set(bool *val) } #define __CM_SAVER(state) \ -do { \ __val = state, \ __save __attribute__((__cleanup__(__cm_atomic_set))) = \ - __cm_atomic_set(&__val); \ -} while (0) + __cm_atomic_set(&__val) #endif /* !defined(__DOXYGEN) */ @@ -217,9 +215,7 @@ do { \ #define CM_ATOMIC_BLOCK() #else /* defined(__DOXYGEN__) */ #define CM_ATOMIC_BLOCK() \ -do { \ - for (bool ___CM_SAVER(true), __my = true; __my; __my = false); \ -} while (0) + for (bool ___CM_SAVER(true), __my = true; __my; __my = false) #endif /* defined(__DOXYGEN__) */ /*---------------------------------------------------------------------------*/