From 2a8ceb160c069b5cfecb8279835c63f17040a86f Mon Sep 17 00:00:00 2001 From: Rui Abreu Ferreira Date: Wed, 20 Apr 2016 00:26:23 +0100 Subject: 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. --- src/nvim/assert.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/nvim/assert.h') 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) -- cgit