#include <stddef.h>
#include <stdarg.h>
Go to the source code of this file.
|
#define | __MOTR_LIB_ASSERT_H__ |
|
#define | M0_ASSERT_OFF (0) |
|
#define | M0_ASSERT_EX_ON (0) |
|
#define | likely(x) __builtin_expect(!!(x), 1) |
|
#define | unlikely(x) __builtin_expect(!!(x), 0) |
|
#define | M0_ASSERT__INIT(msg, fmt, ...) |
|
#define | M0_ASSERT_INFO(cond, fmt, ...) |
|
#define | M0_IMPOSSIBLE(fmt, ...) |
|
#define | M0_ASSERT(cond) M0_ASSERT_INFO((cond), NULL) |
|
#define | M0_ASSERT_EX(cond) |
|
#define | M0_ASSERT_INFO_EX(cond, fmt, ...) |
|
#define | M0_PRE(cond) M0_ASSERT(cond) |
|
#define | M0_PRE_EX(cond) M0_ASSERT_EX(cond) |
|
#define | M0_POST(cond) M0_ASSERT(cond) |
|
#define | M0_POST_EX(cond) M0_ASSERT_EX(cond) |
|
#define | M0_INVARIANT_EX(cond) M0_ASSERT_EX(cond) |
|
#define | M0_CHECK_EX(cond) (!M0_ASSERT_EX_ON || (cond)) |
|
#define | M0_CASSERT(cond) do { switch (1) {case 0: case !!(cond): ;} } while (0) |
|
#define | M0_BASSERT(cond) extern char __static_assertion[(cond) ? 1 : -1] |
|
#define | _0C(exp) |
|
◆ __MOTR_LIB_ASSERT_H__
#define __MOTR_LIB_ASSERT_H__ |
◆ M0_ASSERT
◆ M0_ASSERT__INIT
#define M0_ASSERT__INIT |
( |
|
msg, |
|
|
|
fmt, |
|
|
|
... |
|
) |
| |
Value: msg, __func__, __FILE__, __LINE__,
fmt \
}; \
printf_check(
fmt, ##__VA_ARGS__); \
m0_assert_intercept()
char * fmt(const char *format,...) __attribute__((format(printf
◆ M0_ASSERT_EX
#define M0_ASSERT_EX |
( |
|
cond | ) |
|
Value:({ \
M0_ASSERT(cond); \
})
◆ M0_ASSERT_INFO
#define M0_ASSERT_INFO |
( |
|
cond, |
|
|
|
fmt, |
|
|
|
... |
|
) |
| |
Value:({ \
M0_ASSERT__INIT(#cond,
fmt, ##__VA_ARGS__); \
(void)0 :
m0_panic(&__pctx, ##__VA_ARGS__)); \
})
void m0_panic(const struct m0_panic_ctx *ctx,...)
char * fmt(const char *format,...) __attribute__((format(printf
◆ M0_ASSERT_INFO_EX
#define M0_ASSERT_INFO_EX |
( |
|
cond, |
|
|
|
fmt, |
|
|
|
... |
|
) |
| |
Value:({ \
M0_ASSERT_INFO((cond), (
fmt), ##__VA_ARGS__); \
})
char * fmt(const char *format,...) __attribute__((format(printf
◆ M0_BASSERT
#define M0_BASSERT |
( |
|
cond | ) |
extern char __static_assertion[(cond) ? 1 : -1] |
◆ M0_CASSERT
#define M0_CASSERT |
( |
|
cond | ) |
do { switch (1) {case 0: case !!(cond): ;} } while (0) |
◆ M0_CHECK_EX
◆ M0_IMPOSSIBLE
#define M0_IMPOSSIBLE |
( |
|
fmt, |
|
|
|
... |
|
) |
| |
Value:({ \
M0_ASSERT__INIT(
"Impossible",
"Impossible happened! " fmt, \
##__VA_ARGS__); \
m0_panic(&__pctx, ##__VA_ARGS__); \
})
char * fmt(const char *format,...) __attribute__((format(printf
◆ M0_INVARIANT_EX
◆ M0_POST
◆ M0_POST_EX
◆ M0_PRE
◆ M0_PRE_EX