@ -6,19 +6,12 @@ COSMOPOLITAN_C_START_
|
|||||||
void __assert_fail(const char *, const char *, int) hidden wontreturn relegated;
|
void __assert_fail(const char *, const char *, int) hidden wontreturn relegated;
|
||||||
|
|
||||||
#ifdef NDEBUG
|
#ifdef NDEBUG
|
||||||
#define __ASSERT_FAIL(EXPR, FILE, LINE)
|
#define assert(EXPR) ((void)0)
|
||||||
#else
|
#else
|
||||||
#define __ASSERT_FAIL(EXPR, FILE, LINE) __assert_fail(EXPR, FILE, LINE)
|
#define assert(EXPR) \
|
||||||
|
((void)((EXPR) || (__assert_fail(#EXPR, __FILE__, __LINE__), 0)))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define assert(EXPR) \
|
|
||||||
do { \
|
|
||||||
if (!(EXPR)) { \
|
|
||||||
__ASSERT_FAIL(#EXPR, __FILE__, __LINE__); \
|
|
||||||
unreachable; \
|
|
||||||
} \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
#define static_assert _Static_assert
|
#define static_assert _Static_assert
|
||||||
|
|
||||||
COSMOPOLITAN_C_END_
|
COSMOPOLITAN_C_END_
|
||||||
|
|||||||
Reference in New Issue
Block a user