home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-generic / bug.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  857 b   |  42 lines

  1. #ifndef _ASM_GENERIC_BUG_H
  2. #define _ASM_GENERIC_BUG_H
  3.  
  4. #include <linux/compiler.h>
  5.  
  6. #ifdef CONFIG_BUG
  7. #ifndef HAVE_ARCH_BUG
  8. #define BUG() do { \
  9.     printk("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __FUNCTION__); \
  10.     panic("BUG!"); \
  11. } while (0)
  12. #endif
  13.  
  14. #ifndef HAVE_ARCH_BUG_ON
  15. #define BUG_ON(condition) do { if (unlikely((condition)!=0)) BUG(); } while(0)
  16. #endif
  17.  
  18. #ifndef HAVE_ARCH_WARN_ON
  19. #define WARN_ON(condition) do { \
  20.     if (unlikely((condition)!=0)) { \
  21.         printk("BUG: warning at %s:%d/%s()\n", __FILE__, __LINE__, __FUNCTION__); \
  22.         dump_stack(); \
  23.     } \
  24. } while (0)
  25. #endif
  26.  
  27. #else /* !CONFIG_BUG */
  28. #ifndef HAVE_ARCH_BUG
  29. #define BUG()
  30. #endif
  31.  
  32. #ifndef HAVE_ARCH_BUG_ON
  33. #define BUG_ON(condition) do { if (condition) ; } while(0)
  34. #endif
  35.  
  36. #ifndef HAVE_ARCH_WARN_ON
  37. #define WARN_ON(condition) do { if (condition) ; } while(0)
  38. #endif
  39. #endif
  40.  
  41. #endif
  42.