about summary refs log tree commit diff
path: root/include/assert.h
blob: 30a43d68fae741b6a8b05cd4451da70f984e4fba (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#undef assert

#if __STDC_VERSION__ >= 201112L
#elif defined(__GNUC__)
#define _Noreturn __attribute__((__noreturn__))
#else
#define _Noreturn
#endif

#ifdef NDEBUG
#define	assert(x) (void)0
#else
#define assert(x) ((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0))
#endif

#ifdef __cplusplus
extern "C" {
#endif

_Noreturn void __assert_fail (const char *, const char *, int, const char *);

#ifdef __cplusplus
}
#endif