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