16 lines
451 B
C
16 lines
451 B
C
#pragma once
|
|
|
|
extern void __assert_fail (const char *__assertion, const char *__file,
|
|
unsigned int __line, const char *__function)
|
|
__attribute__ ((__noreturn__));
|
|
|
|
#define __ASSERT_FUNCTION __func__
|
|
|
|
#define assert(expr) \
|
|
((void) sizeof ((expr) ? 1 : 0), __extension__ ({ \
|
|
if (expr) \
|
|
; /* empty */ \
|
|
else \
|
|
__assert_fail (#expr, __FILE__, __LINE__, __ASSERT_FUNCTION); \
|
|
}))
|