BUG_ON
#define BUG_ON(C) __BUG_ON((unsigned long)(C))
#define BUG_ON(x) do { \
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
#define BUG_ON(cond) do { if (cond) {} } while (0)
#define BUG_ON(cond) assert(!(cond))
#define BUG_ON(x) assert(!(x))
#define BUG_ON(condition, description) \
#define BUG_ON(condition, description) \
#define BUG_ON(__BUG_ON_cond) assert(!(__BUG_ON_cond))