summaryrefslogtreecommitdiff
path: root/src/lj_def.h
diff options
context:
space:
mode:
authorMike Pall <mike>2011-02-07 21:44:01 +0100
committerMike Pall <mike>2011-02-07 21:44:01 +0100
commit0a50356b6f7d256af36fbf564b73c5721681cb56 (patch)
tree8fa2810358cb9b4b97fbab925098ce0255127dbe /src/lj_def.h
parent51e8fe9cf0738706dbcaae51774faffebfa389f0 (diff)
downloadluajit2-0a50356b6f7d256af36fbf564b73c5721681cb56.tar.gz
Improve static assertion macro.
Diffstat (limited to 'src/lj_def.h')
-rw-r--r--src/lj_def.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lj_def.h b/src/lj_def.h
index 57946647..ac457cf5 100644
--- a/src/lj_def.h
+++ b/src/lj_def.h
@@ -239,7 +239,12 @@ static LJ_AINLINE uint32_t lj_fls(uint32_t x)
/* Static assertions. */
#define LJ_ASSERT_NAME2(name, line) name ## line
#define LJ_ASSERT_NAME(line) LJ_ASSERT_NAME2(lj_assert_, line)
+#ifdef __COUNTER__
+#define LJ_STATIC_ASSERT(cond) \
+ extern void LJ_ASSERT_NAME(__COUNTER__)(int STATIC_ASSERTION_FAILED[(cond)?1:-1])
+#else
#define LJ_STATIC_ASSERT(cond) \
extern void LJ_ASSERT_NAME(__LINE__)(int STATIC_ASSERTION_FAILED[(cond)?1:-1])
+#endif
#endif