On Wed, 13 Nov 2013, Steven Bosscher wrote:
Here is a non-comprehensive list of macros that are used with a function passed to the macro's argument, and the macro evaluates that argument at least twice:
Note that in your list the macro argument is almost always a simple static inline function where I expect gcc must optimize away the second copy of the code.
Not that it wouldn't be good if there was no second copy for gcc to optimize...
-- Marc Glisse