summaryrefslogtreecommitdiff
path: root/libddekit/include/ddekit/assert.h
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2012-02-19 05:56:38 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2012-02-19 05:56:38 +0100
commit19796a75ab8ba43b31e230ea169d5383c6392bfc (patch)
tree3041c5678e06133dd7fcbf2ebf34b6506334f677 /libddekit/include/ddekit/assert.h
parent6b2e5e0d91823c2a6ce5a5cb12ae3d00b82adae7 (diff)
parent8df772b3c665e663f6f9d2a70f9c691590bd3f91 (diff)
Merge branch 'dde' into upstream-merged
Diffstat (limited to 'libddekit/include/ddekit/assert.h')
-rw-r--r--libddekit/include/ddekit/assert.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/libddekit/include/ddekit/assert.h b/libddekit/include/ddekit/assert.h
new file mode 100644
index 00000000..5d593662
--- /dev/null
+++ b/libddekit/include/ddekit/assert.h
@@ -0,0 +1,23 @@
+#ifndef _ddekit_assert_h
+#define _ddekit_assert_h
+
+#include "ddekit/printf.h"
+#include "ddekit/panic.h"
+
+/** \file ddekit/assert.h */
+
+/** Assert that an expression is true and panic if not.
+ * \ingroup DDEKit_util
+ */
+#define Assert(expr) do \
+ { \
+ if (!(expr)) { \
+ ddekit_print("\033[31;1mDDE: Assertion failed: "#expr"\033[0m\n"); \
+ ddekit_printf(" File: %s:%d\n",__FILE__,__LINE__); \
+ ddekit_printf(" Function: %s()\n", __FUNCTION__); \
+ ddekit_panic("Assertion failed."); \
+ }} while (0);
+
+#endif
+
+#define assert Assert