13
#ifdef NDEBUG /* required by ANSI standard */
14
# define assert(__e) ((void)0)
6
#define assert(x) (void)0
16
# define assert(__e) ((__e) ? (void)0 : __assert_func (__FILE__, __LINE__, \
19
# ifndef __ASSERT_FUNC
20
/* Use g++'s demangled names in C++. */
21
# if defined __cplusplus && defined __GNUC__
22
# define __ASSERT_FUNC __PRETTY_FUNCTION__
24
/* C99 requires the use of __func__. */
25
# elif __STDC_VERSION__ >= 199901L
26
# define __ASSERT_FUNC __func__
28
/* Older versions of gcc don't have __func__ but can use __FUNCTION__. */
30
# define __ASSERT_FUNC __FUNCTION__
32
/* failed to detect __func__ support. */
34
# define __ASSERT_FUNC ((char *) 0)
36
# endif /* !__ASSERT_FUNC */
39
void _EXFUN(__assert, (const char *, int, const char *)
40
_ATTRIBUTE(noreturn));
41
void _EXFUN(__assert_func, (const char *, int, const char *, const char *)
42
_ATTRIBUTE(noreturn));
8
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
15
_Noreturn void __assert_fail (const char *, const char *, int, const char *);