mirror of
https://github.com/ceph/ceph
synced 2025-03-11 02:39:05 +00:00
include/assert: define ceph_assert[f]_always
These variants we promise never to compile out based on NDEBUG. Signed-off-by: Sage Weil <sage@redhat.com>
This commit is contained in:
parent
ae9991054f
commit
59ddf4d619
@ -129,6 +129,13 @@ using namespace ceph;
|
||||
? __CEPH_ASSERT_VOID_CAST (0) \
|
||||
: __ceph_assert_fail (__STRING(expr), __FILE__, __LINE__, __CEPH_ASSERT_FUNCTION))
|
||||
|
||||
// this variant will *never* get compiled out to NDEBUG in the future.
|
||||
// (ceph_assert currently doesn't either, but in the future it might.)
|
||||
#define ceph_assert_always(expr) \
|
||||
((expr) \
|
||||
? __CEPH_ASSERT_VOID_CAST (0) \
|
||||
: __ceph_assert_fail (__STRING(expr), __FILE__, __LINE__, __CEPH_ASSERT_FUNCTION))
|
||||
|
||||
// Named by analogy with printf. Along with an expression, takes a format
|
||||
// string and parameters which are printed if the assertion fails.
|
||||
#define assertf(expr, ...) \
|
||||
@ -139,3 +146,10 @@ using namespace ceph;
|
||||
((expr) \
|
||||
? __CEPH_ASSERT_VOID_CAST (0) \
|
||||
: __ceph_assertf_fail (__STRING(expr), __FILE__, __LINE__, __CEPH_ASSERT_FUNCTION, __VA_ARGS__))
|
||||
|
||||
// this variant will *never* get compiled out to NDEBUG in the future.
|
||||
// (ceph_assertf currently doesn't either, but in the future it might.)
|
||||
#define ceph_assertf_always(expr, ...) \
|
||||
((expr) \
|
||||
? __CEPH_ASSERT_VOID_CAST (0) \
|
||||
: __ceph_assertf_fail (__STRING(expr), __FILE__, __LINE__, __CEPH_ASSERT_FUNCTION, __VA_ARGS__))
|
||||
|
Loading…
Reference in New Issue
Block a user