Messages in this thread | | | Subject | Re: do { } while (0) question | Date | Tue, 01 Aug 2006 10:49:05 -0400 | From | "Horst H. von Brand" <> |
| |
Jiri Slaby <jirislaby@gmail.com> wrote: > Heiko Carstens wrote: > > Hi Andrew, > > your commit e2c2770096b686b4d2456173f53cb50e01aa635c does this: > > --- > > Always use do {} while (0). Failing to do so can cause subtle compile > > failures or bugs. > > -#define hotcpu_notifier(fn, pri) > > -#define register_hotcpu_notifier(nb) > > -#define unregister_hotcpu_notifier(nb) > > +#define hotcpu_notifier(fn, pri) do { } while (0) > > +#define register_hotcpu_notifier(nb) do { } while (0) > > +#define unregister_hotcpu_notifier(nb) do { } while (0) > > #if KILLER == 1 > #define MACRO > #else > #define MACRO do { } while (0) > #endif > > { > if (some_condition) > MACRO
; /* missing */ > > if_this_is_not_called_you_loose_your_data(); > }
> How do you want to define KILLER, 0 or 1? I personally choose 0.
Yep, at least in this case you'd get a compile failure. -- Dr. Horst H. von Brand User #22616 counter.li.org Departamento de Informatica Fono: +56 32 654431 Universidad Tecnica Federico Santa Maria +56 32 654239 Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513 - 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/
| |