1#ifndef _SPARC_BUG_H
2#define _SPARC_BUG_H
3
4#ifdef CONFIG_BUG
5/* Only use the inline asm until a gcc release that can handle __builtin_trap
6 * -rob 2003-06-25
7 *
8 * gcc-3.3.1 and later will be OK -DaveM
9 */
10#if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ > 3) || (__GNUC__ == 3 && \
11	__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
17
18#ifdef CONFIG_DEBUG_BUGVERBOSE
19extern 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
27
28#define HAVE_ARCH_BUG
29#endif
30
31#include <asm-generic/bug.h>
32
33#endif
34