[PATCH] 2.4: BUG_ON (1/2)

Robert Love (rml@tech9.net)
02 Apr 2002 21:59:34 -0500


Marcelo and Alan,

The attached patch adds 2.5's BUG_ON construct to the 2.4 kernel. This
is done to facilitate portability and back-porting 2.4 <=> 2.5, because
BUG_ON is a very readable construct, and because it is a small
optimization over standard BUG.

For the unaware, BUG_ON(condition) is basically

if (unlikely(condition) != 0) BUG();

This is not really about sprinkling BUG_ONs everywhere but helping
backporting. And I like BUG_ON :)

This patch is against 2.4.19-pre5, but also applies to 2.4.19-pre4-ac3.
Alan and Marcelo - please apply.

Robert Love

diff -urN linux-2.4.19-pre5/include/linux/kernel.h linux/include/linux/kernel.h
--- linux-2.4.19-pre5/include/linux/kernel.h Sat Mar 30 18:26:41 2002
+++ linux/include/linux/kernel.h Sat Mar 30 18:30:18 2002
@@ -184,4 +184,6 @@
char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding: libc5 uses this.. */
};

-#endif
+#define BUG_ON(condition) do { if (unlikely((condition)!=0)) BUG(); } while(0)
+
+#endif /* _LINUX_KERNEL_H */

-
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/