On Wed, Sep 02, 2009 at 08:54:47AM -0400, Mike Frysinger wrote: > On Wed, Sep 2, 2009 at 08:44, Marc Andre Tanner wrote: > > On Wed, Sep 02, 2009 at 07:25:43AM -0500, Bill Gatliff wrote: > >> Jamie Lokier wrote: > >> >Looks good, except that I think kernel style is to use "do {...} while > >> >(0)" rather than "({ ... })" > >> > >> And IIRC, there was some reason for the do{...} while(0) that made > >> other alternatives not work. So it might be more than just style at > >> issue. > > > > Do you remember the reason? I found the oposite to be ture, I actually > > started with the do { } while(0) construct but it failed in certain > > situations so I wrapped it with ({ }) and then later removed > > the now useless do { } while(0). > > > > By the way printk_once which is defined a few lines further down in > > kernel.h also uses ({ }). > > > > Anyway the next version of my patch will no longer need it. > > it depends completely on how the macro is intended to be used. if you > want to maintain the "this macro has a return value", then you have to > use ({...}). if you want the macro to return a void, then you have to > use do{...}while(0). Ok, thanks for the clarification. This makes sense. Marc -- Marc Andre Tanner >< http://www.brain-dump.org/ >< GPG key: CF7D56C0 -- To unsubscribe from this list: send the line "unsubscribe linux-embedded" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html