diff options
-rw-r--r-- | cpukit/ChangeLog | 5 | ||||
-rw-r--r-- | cpukit/score/cpu/lm32/rtems/score/lm32.h | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 4a4d9ea5e0..cde12220dd 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,5 +1,10 @@ 2011-11-09 Werner Almesberger <werner@almesberger.net> + PR 1954/cpukit + * score/cpu/lm32/rtems/score/lm32.h: Protect against macro expansion. + +2011-11-09 Werner Almesberger <werner@almesberger.net> + PR 1957/cpukit * score/include/rtems/score/coremutex.h, score/inline/rtems/score/threadmp.inl: Add parentheses to protect diff --git a/cpukit/score/cpu/lm32/rtems/score/lm32.h b/cpukit/score/cpu/lm32/rtems/score/lm32.h index 328e6dff59..0b2dc05d78 100644 --- a/cpukit/score/cpu/lm32/rtems/score/lm32.h +++ b/cpukit/score/cpu/lm32/rtems/score/lm32.h @@ -74,7 +74,7 @@ extern "C" { #define lm32_disable_interrupts( _level ) \ do { register uint32_t ie; \ __asm__ volatile ("rcsr %0,ie":"=r"(ie)); \ - _level = ie; \ + (_level) = ie; \ ie &= (~0x0001); \ __asm__ volatile ("wcsr ie,%0"::"r"(ie)); \ } while (0) @@ -85,7 +85,7 @@ extern "C" { #define lm32_flash_interrupts( _level ) \ do { register uint32_t ie; \ __asm__ volatile ("wcsr ie,%0"::"r"(_level)); \ - ie = _level & (~0x0001); \ + ie = (_level) & (~0x0001); \ __asm__ volatile ("wcsr ie,%0"::"r"(ie)); \ } while (0) @@ -99,7 +99,7 @@ extern "C" { #define lm32_interrupt_mask( _mask ) \ do { register uint32_t im; \ __asm__ volatile ("rcsr %0,im":"=r"(im)); \ - im &= ~_mask; \ + im &= ~(_mask); \ __asm__ volatile ("wcsr im,%0"::"r"(im)); \ } while (0) |