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 23