aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRui Abreu Ferreira <raf-ep@gmx.com>2016-04-20 00:26:23 +0100
committerRui Abreu Ferreira <raf-ep@gmx.com>2016-04-30 20:31:02 +0100
commit2a8ceb160c069b5cfecb8279835c63f17040a86f (patch)
tree02865c84e7ea084624e8e39379ec275a98c35751
parent3dc8cdc1504edfd1ab44d9151954f859ab9befe2 (diff)
downloadrneovim-2a8ceb160c069b5cfecb8279835c63f17040a86f.tar.gz
rneovim-2a8ceb160c069b5cfecb8279835c63f17040a86f.tar.bz2
rneovim-2a8ceb160c069b5cfecb8279835c63f17040a86f.zip
MSVC: Avoid variadic macro bug in STATIC_ASSERT
MSVC does not handle __VA_ARGS__ as expected in STATIC_ASSERT, avoid its use to work around it since we don't need it. The underlying issue seems to be one of https://connect.microsoft.com/VisualStudio/Feedback/Details/1232378 https://connect.microsoft.com/VisualStudio/Feedback/Details/1099052 The bug only seems to manifest when using multiple variadic macros that call each other.
-rw-r--r--src/nvim/assert.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/nvim/assert.h b/src/nvim/assert.h
index 0ce48e4766..2c43777858 100644
--- a/src/nvim/assert.h
+++ b/src/nvim/assert.h
@@ -46,10 +46,10 @@
#define STATIC_ASSERT_PRAGMA_START
#define STATIC_ASSERT_PRAGMA_END
-#define STATIC_ASSERT(...) \
+#define STATIC_ASSERT(cond, msg) \
do { \
STATIC_ASSERT_PRAGMA_START \
- STATIC_ASSERT_STATEMENT(__VA_ARGS__); \
+ STATIC_ASSERT_STATEMENT(cond, msg); \
STATIC_ASSERT_PRAGMA_END \
} while (0)