]> git.hungrycats.org Git - linux/commitdiff
[PATCH] ppc32: Reduce WARN_ON(0) to nothing
authorPaul Mackerras <paulus@samba.org>
Thu, 3 Jun 2004 01:22:18 +0000 (18:22 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Thu, 3 Jun 2004 01:22:18 +0000 (18:22 -0700)
The last patch I sent means that we have WARN_ON(0) in a couple of
places when CONFIG_PREEMPT=n.  This patch makes that reduce to
nothing (rather than a conditional trap on a 0 value), and also makes
BUG_ON(0) reduce to nothing for completeness.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/asm-ppc/bug.h

index ff3be2d387bfa2cee73418576eea7f02d097c109..6b2579d9d4ee03dafdcdfa7d93409cdf5b1a225c 100644 (file)
@@ -23,26 +23,30 @@ struct bug_entry {
                : : "i" (__LINE__), "i" (__FILE__), "i" (__FUNCTION__)); \
 } while (0)
 
-#define BUG_ON(x) do {                                         \
-       __asm__ __volatile__(                                   \
-               "1:     twnei %0,0\n"                           \
-               ".section __bug_table,\"a\"\n\t"                \
-               "       .long 1b,%1,%2,%3\n"                    \
-               ".previous"                                     \
-               : : "r" (x), "i" (__LINE__), "i" (__FILE__),    \
-                   "i" (__FUNCTION__));                        \
+#define BUG_ON(x) do {                                                 \
+       if (!__builtin_constant_p(x) || (x)) {                          \
+               __asm__ __volatile__(                                   \
+                       "1:     twnei %0,0\n"                           \
+                       ".section __bug_table,\"a\"\n\t"                \
+                       "       .long 1b,%1,%2,%3\n"                    \
+                       ".previous"                                     \
+                       : : "r" (x), "i" (__LINE__), "i" (__FILE__),    \
+                           "i" (__FUNCTION__));                        \
+       }                                                               \
 } while (0)
 
-#define PAGE_BUG(page) do { BUG(); } while (0)
+#define PAGE_BUG(page) BUG()
 
-#define WARN_ON(x) do {                                                \
-       __asm__ __volatile__(                                   \
-               "1:     twnei %0,0\n"                           \
-               ".section __bug_table,\"a\"\n\t"                \
-               "       .long 1b,%1,%2,%3\n"                    \
-               ".previous"                                     \
-               : : "r" (x), "i" (__LINE__ + BUG_WARNING_TRAP), \
-                   "i" (__FILE__), "i" (__FUNCTION__));        \
+#define WARN_ON(x) do {                                                        \
+       if (!__builtin_constant_p(x) || (x)) {                          \
+               __asm__ __volatile__(                                   \
+                       "1:     twnei %0,0\n"                           \
+                       ".section __bug_table,\"a\"\n\t"                \
+                       "       .long 1b,%1,%2,%3\n"                    \
+                       ".previous"                                     \
+                       : : "r" (x), "i" (__LINE__ + BUG_WARNING_TRAP), \
+                           "i" (__FILE__), "i" (__FUNCTION__));        \
+       }                                                               \
 } while (0)
 
 #endif