1#include <features.h>
2
3#undef assert
4
5#ifdef NDEBUG
6#define	assert(x) (void)0
7#else
8#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
9#endif
10
11#if __STDC_VERSION__ >= 201112L && !defined(__cplusplus)
12#define static_assert _Static_assert
13#endif
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19_Noreturn void __assert_fail (const char *, const char *, int, const char *);
20
21#ifdef __cplusplus
22}
23#endif
24