Linux-2.6.12-rc2
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / include / asm-sparc / bug.h
blob0d30a67d87a37f14278b2a50b17fda1925591df4
1 #ifndef _SPARC_BUG_H
2 #define _SPARC_BUG_H
4 /* Only use the inline asm until a gcc release that can handle __builtin_trap
5 * -rob 2003-06-25
7 * gcc-3.3.1 and later will be OK -DaveM
8 */
9 #if (__GNUC__ > 3) || \
10 (__GNUC__ == 3 && __GNUC_MINOR__ > 3) || \
11 (__GNUC__ == 3 && __GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ >= 4)
12 #define __bug_trap() __builtin_trap()
13 #else
14 #define __bug_trap() \
15 __asm__ __volatile__ ("t 0x5\n\t" : : )
16 #endif
18 #ifdef CONFIG_DEBUG_BUGVERBOSE
19 extern void do_BUG(const char *file, int line);
20 #define BUG() do { \
21 do_BUG(__FILE__, __LINE__); \
22 __bug_trap(); \
23 } while (0)
24 #else
25 #define BUG() __bug_trap()
26 #endif
28 #define HAVE_ARCH_BUG
29 #include <asm-generic/bug.h>
31 #endif