summaryrefslogtreecommitdiff
path: root/libraries/euler/include/cassert
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/euler/include/cassert')
-rw-r--r--libraries/euler/include/cassert13
1 files changed, 13 insertions, 0 deletions
diff --git a/libraries/euler/include/cassert b/libraries/euler/include/cassert
new file mode 100644
index 0000000..bc716a0
--- /dev/null
+++ b/libraries/euler/include/cassert
@@ -0,0 +1,13 @@
+#pragma once
+
+namespace euler {
+ [[noreturn]] void assert_failed(
+ const char *file, const char *function, int line, const char *condition);
+}
+
+#ifdef NDEBUG
+#define assert(condition) ((void)0)
+#else
+#define assert(condition) ((condition) ? ((void)0) : \
+ euler::assert_failed(__FILE__, __func__, __LINE__, #condition))
+#endif