Avoid bogus gcc warnings about unused results
Our fancy type-safe pointer-list template macros caused gcc to spew out
incredible numbers of totally bogus warnings, just because most users
didn't actually care about the result of the "add_ptr_list()" operation.
Not caring about the result is _fine_, and gcc is just totally confused.
However, we can avoid the bogus warning by enclosing the expression in a
statement expression. While "(cast)(x)" causes a warning about the
result not being used, doing it as "({ (cast)(x); })" shuts gcc up about
it.
Not pretty, but better than the alternative (which is to drop type
information).
Signed-off-by: Linus Torvalds <torvalds@osdl.org>