James Bottomley wrote: <snip> > Well, we can agree to differ on this. The camp that wants no side > effects for BUG_ON() does so in case they want to define it to be a nop. > I've always argued that having special rules for this that differ from > functions is asking for trouble. It's also easy to preserve the side > effects by making the compile out do this: > > #define BUG_ON(x) (void)(x) > > That lets the compiler process the side effects and discard the result. > This basically means the rules for BUG_ON() arguments are identical to > the rules for function arguments ... I think that's consonant with the > principle of least surprise. > The Kernel seems to agree with you: #define BUG_ON(condition) do { if (condition) ; } while(0) what should we do with stuff like BUG_ON(check_foo_valid()); which is time consuming and should not run on production machines should we directly use: #ifdef CONFIG_BUG or is there some other facility for that? Boaz -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html