Messages in this thread | | | From | Rusty Russell <> | Subject | Re: [PATCH] BUILD_BUG_ON sucks | Date | Sat, 16 Aug 2008 20:55:44 +1000 |
| |
On Saturday 16 August 2008 20:09:48 Alexey Dobriyan wrote: > BUILD_BUG_ON should have never existed -- BUG_ON could upgrade itself to > compile-breaking version if compiler has enough information and this is > what patch does. > > The only downside is that one can't write BUG_ON(1) anymore.
Interesting idea, but I've come to actually like the semantic explicitness of BUILD_BUG_ON. There's a difference between "we should never get here" and "this should never exist".
But maybe I just like it because we have it. At very least BUILD_BUG_ON should definitely compile-barf on a non-constant expr, and vice versa for BUG_ON().
Note that BUG_ON() is a hack caused by lack of attribute((cold)). "if (x) BUG()" is clearer, and possible in the long run as people upgrade compilers.
Cheers, Rusty.
| |