Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
bug.h
Go to the documentation of this file.
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