diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 4a4d9ea5e0..cde12220dd 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,8 @@ +2011-11-09 Werner Almesberger + + PR 1954/cpukit + * score/cpu/lm32/rtems/score/lm32.h: Protect against macro expansion. + 2011-11-09 Werner Almesberger PR 1957/cpukit 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)