On Mon, 1 Jan 2007, Segher Boessenkool wrote: > > > In this case, the second form > > > should be used when the macro needs to return a value (and you can't > > > use an inline function for whatever reason), whereas the first form > > > should be used at all other times. > > > > that's a fair point, although it's certainly not the coding style > > that's in play now. for example, > > > > #define setcc(cc) ({ \ > > partial_status &= ~(SW_C0|SW_C1|SW_C2|SW_C3); \ > > partial_status |= (cc) & (SW_C0|SW_C1|SW_C2|SW_C3); }) > > This _does_ return a value though, bad example.
sigh ... you're right. here's a thought. my original patch submission simply added an explanation for allowing the ({ }) notation for defining a multi-line macro, without getting into recommending an actual coding style. at a minimum, something like that should be added to the style document. if someone wants to extend that explanation recommending *when* each of those two styles should be used, feel free. but a simple decription of alternatives should *at least* be added, no? rday - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/