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
16 extern "C" {
17 #endif
18 
19 _Noreturn void __assert_fail (const char *, const char *, int, const char *);
20 
21 #ifdef __cplusplus
22 }
23 #endif
24