summary refs log tree commit diff
path: root/include/asm-generic/bug.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2006-10-19 23:28:34 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-20 10:26:38 -0700
commit8c7c7c9bf39470c9689ad43cae3142cf948f4cfb (patch)
treec9657aa9d52c505b9b8fd73e9292d9b2a533bad3 /include/asm-generic/bug.h
parenta31baca58cc16fe0584685f54c6d17494a231c92 (diff)
downloadlinux-8c7c7c9bf39470c9689ad43cae3142cf948f4cfb.tar.gz
[PATCH] Fix warnings for WARN_ON if CONFIG_BUG is disabled
In most cases the return value of WARN_ON() is ignored.  If the generic
definition for the !CONFIG_BUG case is used this will result in a warning:

  CC      kernel/sched.o
In file included from include/linux/bio.h:25,
                 from include/linux/blkdev.h:14,
                 from kernel/sched.c:39:
include/linux/ioprio.h: In function ‘task_ioprio’:
include/linux/ioprio.h:50: warning: statement with no effect
kernel/sched.c: In function ‘context_switch’:
kernel/sched.c:1834: warning: statement with no effect

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-generic/bug.h')
-rw-r--r--include/asm-generic/bug.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h
index 1d9573cf4a0b..c92ae0f166ff 100644
--- a/include/asm-generic/bug.h
+++ b/include/asm-generic/bug.h
@@ -37,7 +37,10 @@
 #endif
 
 #ifndef HAVE_ARCH_WARN_ON
-#define WARN_ON(condition) unlikely((condition))
+#define WARN_ON(condition) ({						\
+	typeof(condition) __ret_warn_on = (condition);			\
+	unlikely(__ret_warn_on);					\
+})
 #endif
 #endif