What policy for BUG_ON()?

From: Adrian Bunk
Date: Mon Aug 30 2004 - 15:17:47 EST


Let me try to summarize the different options regarding BUG_ON,
concerning whether the argument to BUG_ON might contain side effects,
and whether it should be allowed in some "do this only if you _really_
know what you are doing" situations to let BUG_ON do nothing.

Options:
1. BUG_ON must not be defined to do nothing
1a. side effects are allowed in the argument of BUG_ON
1b. side effects are not allowed in the argument of BUG_ON
2. BUG_ON is allowed to be defined to do nothing
2a. side effects are allowed in the argument of BUG_ON
2b. side effects are not allowed in the argument of BUG_ON

It would be good if there was a decision which of the four choices
should become documented policy.


<-- snip -->

My personal opinions:

IMHO, 1b doesn't make much sense, since in the case of 1. side effects
are never a problem.

IMHO, 2b is bad since it might cause nasty heisenbugs if BUG_ON does
nothing, and preserving the side effects is easy.

<-- snip -->


cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/