Messages in this thread | | | Date | Sun, 31 Dec 2006 19:23:28 -0800 | From | Randy Dunlap <> | Subject | Re: [PATCH] Documentation: Explain a second alternative for multi-line macros. |
| |
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.
Where does it return a value? I don't see any uses of it in arch/i386/math-emu/* that use it as returning a value.
And with a small change to put it inside a do-while block instead of ({ ... }), it at least builds cleanly. I expected some complaints.
-- ~Randy - 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/
| |