In my original code, this is the macro definition:
#define setRegsWord(regs, member, value) \ /* (regs)->member = value */ \ asm volatile( \ " str %[Rv], [%[Rbase], %[Immed]]\n\t" \ : \ : [Rv] "r" (value), [Rbase] "r" (regs), [Immed] "I" (__builtin_offsetof(typeof(*regs), member)) \ )
In my original code, this is the macro definition:
#define setRegsWord(regs, member, value) \ offsetof( typeof( *regs), member)) \
/* (regs)->member = value */ \
asm volatile( \
" str %[Rv], [%[Rbase], %[Immed]]\n\t" \
: \
: [Rv] "r" (value), [Rbase] "r" (regs), [Immed] "I" (__builtin_
)