extern void __attribute__((noreturn)) _fassert(int, const char *, const char *, const char*);
#define __assert(line,file,expression,func) \
_fassert(line,file,expression,func)
#define assert(expr) \
((void)((expr) ? 0 : (__assert (__LINE__, __FILE__, #expr, __ASSERT_FUNC), 0)))
#else /* NDEBUG */
#define assert(exp) ((void)0)
#endif /* NDEBUG */
#if defined(NDEBUG) || !defined(__DEBUG)
# define __conditional_software_breakpoint(X) ((void)0)
#else
# define __conditional_software_breakpoint(X) \
((X) ? \
(void) 0 : \
__builtin_software_breakpoint())
#endif
|