summaryrefslogtreecommitdiff
path: root/src/fundamental
diff options
context:
space:
mode:
Diffstat (limited to 'src/fundamental')
-rw-r--r--src/fundamental/macro-fundamental.h19
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) \