mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-02-02 00:00:03 +03:00
978c160405
the issue in cmd_debug - passing members of struct bpos to kstrtoull, which aren't aligned - was a legit bug
32 lines
900 B
C
32 lines
900 B
C
#ifndef __TOOLS_LINUX_BUG_H
|
|
#define __TOOLS_LINUX_BUG_H
|
|
|
|
#include <assert.h>
|
|
#include <linux/compiler.h>
|
|
|
|
#define BUILD_BUG_ON_NOT_POWER_OF_2(n) \
|
|
BUILD_BUG_ON((n) == 0 || (((n) & ((n) - 1)) != 0))
|
|
#define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))
|
|
#define BUILD_BUG_ON_NULL(e) ((void *)sizeof(struct { int:-!!(e); }))
|
|
|
|
#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
|
|
|
|
#define BUG() do { assert(0); unreachable(); } while (0)
|
|
#define BUG_ON(cond) assert(!(cond))
|
|
|
|
#define WARN_ON_ONCE(cond) assert(!(cond))
|
|
#define WARN_ONCE(cond, msg) assert(!(cond))
|
|
|
|
#define __WARN() assert(0)
|
|
#define __WARN_printf(arg...) assert(0)
|
|
#define WARN(cond, ...) assert(!(cond))
|
|
|
|
#define WARN_ON(condition) ({ \
|
|
int __ret_warn_on = unlikely(!!(condition)); \
|
|
if (__ret_warn_on) \
|
|
__WARN(); \
|
|
__ret_warn_on; \
|
|
})
|
|
|
|
#endif /* __TOOLS_LINUX_BUG_H */
|