Messages in this thread | | | Date | Mon, 1 Jan 2007 03:26:02 -0500 (EST) | From | "Robert P. J. Day" <> | Subject | Re: [PATCH] Documentation: Explain a second alternative for multi-line macros. |
| |
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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |