On Thu, 4 Jan 2018, David Gwynne wrote:

> my theory is that __statement (a gcc extension) was used to allow
> macros to evaluate their argument(s) once by assigning it to a local
> variable, and then returning a value. this is difficult with normal
> macros.

Not understanding - doesn't this:

> -#define      __swap32md(x) __statement({                                     
> \
> -     __uint32_t __swap32md_x = (x);                                  \

evaluate its argument only once even without __statement?

-d

Reply via email to