f2fs: remove several redundant assignments
[linux-2.6/btrfs-unstable.git] / tools / include / asm / bug.h
blob4790f047a89c476624975d51514698f210900a19
1 #ifndef _TOOLS_ASM_BUG_H
2 #define _TOOLS_ASM_BUG_H
4 #include <linux/compiler.h>
6 #define __WARN_printf(arg...) do { fprintf(stderr, arg); } while (0)
8 #define WARN(condition, format...) ({ \
9 int __ret_warn_on = !!(condition); \
10 if (unlikely(__ret_warn_on)) \
11 __WARN_printf(format); \
12 unlikely(__ret_warn_on); \
15 #define WARN_ON(condition) ({ \
16 int __ret_warn_on = !!(condition); \
17 if (unlikely(__ret_warn_on)) \
18 __WARN_printf("assertion failed at %s:%d\n", \
19 __FILE__, __LINE__); \
20 unlikely(__ret_warn_on); \
23 #define WARN_ON_ONCE(condition) ({ \
24 static int __warned; \
25 int __ret_warn_once = !!(condition); \
27 if (unlikely(__ret_warn_once && !__warned)) { \
28 __warned = true; \
29 WARN_ON(1); \
30 } \
31 unlikely(__ret_warn_once); \
34 #define WARN_ONCE(condition, format...) ({ \
35 static int __warned; \
36 int __ret_warn_once = !!(condition); \
38 if (unlikely(__ret_warn_once)) \
39 if (WARN(!__warned, format)) \
40 __warned = 1; \
41 unlikely(__ret_warn_once); \
44 #endif /* _TOOLS_ASM_BUG_H */