__assert
#define assert(e) ((e) ? (void)0 : __assert(__func__, __FILE__, \
void __assert(const char *, const char *, int, const char *) __dead2;
#define __CTASSERT(x, y) typedef char __assert ## y[(x) ? 1 : -1]
#define NVMM__CTASSERT(x, y) typedef char __assert ## y[(x) ? 1 : -1] __unused
#define __CTASSERT(x, y) typedef char __assert ## y[(x) ? 1 : -1]