| * If this bit is set in the line number it means that the trap |
| * is for WARN_ON rather than BUG or BUG_ON. |
| #define BUG_WARNING_TRAP 0x1000000 |
| ".section __bug_table,\"a\"\n\t" \ |
| : : "i" (__LINE__), "i" (__FILE__), "i" (__FUNCTION__)); \ |
| if (!__builtin_constant_p(x) || (x)) { \ |
| ".section __bug_table,\"a\"\n\t" \ |
| : : "r" (x), "i" (__LINE__), "i" (__FILE__), \ |
| #define WARN_ON(x) do { \ |
| if (!__builtin_constant_p(x) || (x)) { \ |
| ".section __bug_table,\"a\"\n\t" \ |
| : : "r" (x), "i" (__LINE__ + BUG_WARNING_TRAP), \ |
| "i" (__FILE__), "i" (__FUNCTION__)); \ |
| #define HAVE_ARCH_WARN_ON |
| #include <asm-generic/bug.h> |