Arnaldo Carvalho de Melo | b32d133 | 2009-11-24 12:05:15 -0200 | [diff] [blame] | 1 | #ifndef _PERF_ASM_GENERIC_BUG_H |
| 2 | #define _PERF_ASM_GENERIC_BUG_H |
| 3 | |
| 4 | #define __WARN_printf(arg...) do { fprintf(stderr, arg); } while (0) |
| 5 | |
| 6 | #define WARN(condition, format...) ({ \ |
| 7 | int __ret_warn_on = !!(condition); \ |
| 8 | if (unlikely(__ret_warn_on)) \ |
| 9 | __WARN_printf(format); \ |
| 10 | unlikely(__ret_warn_on); \ |
| 11 | }) |
| 12 | |
| 13 | #define WARN_ONCE(condition, format...) ({ \ |
| 14 | static int __warned; \ |
| 15 | int __ret_warn_once = !!(condition); \ |
| 16 | \ |
| 17 | if (unlikely(__ret_warn_once)) \ |
| 18 | if (WARN(!__warned, format)) \ |
| 19 | __warned = 1; \ |
| 20 | unlikely(__ret_warn_once); \ |
| 21 | }) |
| 22 | #endif |