diff options
Diffstat (limited to 'src/fundamental')
-rw-r--r-- | src/fundamental/macro-fundamental.h | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/fundamental/macro-fundamental.h b/src/fundamental/macro-fundamental.h index 8b483f0b50..2536c741c6 100644 --- a/src/fundamental/macro-fundamental.h +++ b/src/fundamental/macro-fundamental.h @@ -81,18 +81,13 @@ #endif /* This passes the argument through after (if asserts are enabled) checking that it is not null. */ -#define ASSERT_PTR(expr) \ - ({ \ - typeof(expr) _expr_ = (expr); \ - assert(_expr_); \ - _expr_; \ - }) - -#define ASSERT_SE_PTR(expr) \ - ({ \ - typeof(expr) _expr_ = (expr); \ - assert_se(_expr_); \ - _expr_; \ +#define ASSERT_PTR(expr) _ASSERT_PTR(expr, UNIQ_T(_expr_, UNIQ), assert) +#define ASSERT_SE_PTR(expr) _ASSERT_PTR(expr, UNIQ_T(_expr_, UNIQ), assert_se) +#define _ASSERT_PTR(expr, var, check) \ + ({ \ + typeof(expr) var = (expr); \ + check(var); \ + var; \ }) #define ASSERT_NONNEG(expr) \ |