summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorEmil Renner Berthing <esmil@mailme.dk>2013-08-27 21:28:16 +0200
committerEmil Renner Berthing <esmil@mailme.dk>2013-08-27 22:03:04 +0200
commit28633b6935340dd79a80bdccf491c27d82d8169f (patch)
tree0b1e393cd52803cec0e5f21a17f561d7492d26d8 /include
parentdeb634636068fc191d807606437cd63f5dc0d150 (diff)
downloadlem-28633b6935340dd79a80bdccf491c27d82d8169f.tar.gz
lem-28633b6935340dd79a80bdccf491c27d82d8169f.tar.xz
lem-28633b6935340dd79a80bdccf491c27d82d8169f.zip
add built-time assertions
Diffstat (limited to 'include')
-rw-r--r--include/lem.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/lem.h b/include/lem.h
index 5b35459..2b548b8 100644
--- a/include/lem.h
+++ b/include/lem.h
@@ -28,6 +28,12 @@
# define __FUNCTION__ __func__ /* C99 */
#endif
+/* Built-time assertions */
+#define LEM_BUILD_ASSERT__(prefix, line) prefix##line
+#define LEM_BUILD_ASSERT_(prefix, line) LEM_BUILD_ASSERT__(prefix, line)
+#define LEM_BUILD_ASSERT(x) \
+ typedef int LEM_BUILD_ASSERT_(lem_assert_, __LINE__)[(x) ? 1 : -1]
+
#ifdef NDEBUG
#define lem_debug(...)
#else