Messages in this thread | | | Date | Wed, 23 Jun 1999 21:48:40 -0400 | From | Jeff Garzik <> | Subject | Re: [PATCH] *(int*)0 = 0 & variations |
| |
Riley Williams wrote: > There is also the fact that by its nature, assertion checking makes > most of the standard oops report redundant as, if kassertoops was to > be used, the exact circumstances would be known in advance. It would > therefore make more sense to have two separate oops functions, one to > deal with the current oops events, and a second to deal with an oops > caused by a kassertoops() call.
Maybe call panic() or similar, instead of oops-ing?
> Here's the corrected version: [...] > +#ifdef DEBUG
'DEBUG' is far too general. __USING_KASSERT?
> +#else > +#define kassert(cond) (void) abs(cond) > +#define kassertoops(cond) (void) abs(cond) > +#endif
Any code depending on assert evaluating the condition is broken IMHO. Doing so breaks an important feature of assert: it evaluates to nothing when disabled. Your above example violates the principle of least surprise; instead, it should be ((void)0)
Once it does that, please do submit it to the Upper Penguins. ;-)
Jeff
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |