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