diff options
author | Rui Abreu Ferreira <raf-ep@gmx.com> | 2016-04-20 00:26:23 +0100 |
---|---|---|
committer | Rui Abreu Ferreira <raf-ep@gmx.com> | 2016-04-30 20:31:02 +0100 |
commit | 2a8ceb160c069b5cfecb8279835c63f17040a86f (patch) | |
tree | 02865c84e7ea084624e8e39379ec275a98c35751 | |
parent | 3dc8cdc1504edfd1ab44d9151954f859ab9befe2 (diff) | |
download | rneovim-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.h | 4 |
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) |