__assert
#define assert(e) ((e) ? (void)0 : __assert(#e, __FILE__, __LINE__))
#define assert(e) ((e) ? (void)0 : __assert(__func__, __FILE__, \
void __assert(const char *, const char *, int, const char *) __dead2;