...
While inline functions are, in general, more suitable for this task (see PRE00-A. Prefer inline or static functions to function-like macrosC), occasionally they are not feasible (when macros are expected to operate on variables of different types, for example).
...