From bfd2a20d922dfac25e43e4b42638b56b88241558 Mon Sep 17 00:00:00 2001 From: Vladimir Davydov <vdavydov@tarantool.org> Date: Wed, 23 Aug 2023 15:53:11 +0300 Subject: [PATCH] util: add VERIFY macro The new macro is like assert, but it evaluates the checked expression even in the release mode. NO_DOC=internal NO_TEST=internal NO_CHANGELOG=internal --- src/trivia/util.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/trivia/util.h b/src/trivia/util.h index 5dad68ea52..bf4f04e60b 100644 --- a/src/trivia/util.h +++ b/src/trivia/util.h @@ -799,6 +799,13 @@ var##_assert_type(void) \ (void)p; \ } +/** Like assert() but evaluates the given expression even if NDEBUG is set. */ +#ifndef NDEBUG +# define VERIFY(expr) assert(expr) +#else +# define VERIFY(expr) ((void)(expr)) +#endif + #ifndef NDEBUG /** * Execute a CPU instruction that results in the SIGILL signal. -- GitLab