43 * AssertBreakpoint() for architectures where breakpoint assembly |
43 * AssertBreakpoint() for architectures where breakpoint assembly |
44 * instructions are not supported. |
44 * instructions are not supported. |
45 */ |
45 */ |
46 #if (defined (__i386__) || defined (__amd64__) || defined (__x86_64__)) && defined (__GNUC__) && __GNUC__ >= 2 |
46 #if (defined (__i386__) || defined (__amd64__) || defined (__x86_64__)) && defined (__GNUC__) && __GNUC__ >= 2 |
47 # define NS_BREAKPOINT() \ |
47 # define NS_BREAKPOINT() \ |
48 do{ __asm__ __volatile__ ("int $03"); }while(false) |
48 do { __asm__ __volatile__ ("int $03"); }while(false) |
49 #elif defined (_MSC_VER) && defined (_M_IX86) |
49 #elif defined (_MSC_VER) && defined (_M_IX86) |
50 # define NS_BREAKPOINT() \ |
50 # define NS_BREAKPOINT() \ |
51 do{ __asm int 3h }while(false) |
51 do { __asm int 3h }while(false) |
52 #elif defined (__alpha__) && !defined(__osf__) && defined (__GNUC__) && __GNUC__ >= 2 |
52 #elif defined (__alpha__) && !defined(__osf__) && defined (__GNUC__) && __GNUC__ >= 2 |
53 # define NS_BREAKPOINT() \ |
53 # define NS_BREAKPOINT() \ |
54 do{ __asm__ __volatile__ ("bpt"); }while(false) |
54 do { __asm__ __volatile__ ("bpt"); }while(false) |
55 #else /* !__i386__ && !__alpha__ */ |
55 #else /* !__i386__ && !__alpha__ */ |
56 # define NS_BREAKPOINT() ns3::BreakpointFallback () |
56 # define NS_BREAKPOINT() ns3::BreakpointFallback () |
57 #endif |
57 #endif |
58 |
58 |
59 /** |
59 /** |
60 * \brief fallback breakpoint function |
60 * \brief fallback breakpoint function |