On Mon, Jan 04, 2010 at 05:08:03PM -0500, Anand Arumugam wrote:
> The purpose of the macro is served even without the last __v; statement.
> But the last statement __v; enables the macro to be used as rvalue (as
> described in many replies) in an expression.
>
> Without the last statement __v; at the end of the macro the compiler will
> issue a warning/error for the unused variable __v within the scope defined
> by { ... } and an error if the macro is used as rvalue.
True. The point is that we _want_ to use the macro as an rvalue and
hence the need to have the last '__v;' statement. Use of the macro as an
lvalue would work fine but result in a warning without this statement,
as you correctly point out.
Robin
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [email protected]
Please read the FAQ at http://kernelnewbies.org/FAQ