From 6b9c7e7595f8e36d3b221bedb623fa5334f62ce0 Mon Sep 17 00:00:00 2001 From: Thomas Guillem Date: Mon, 14 Dec 2015 09:08:25 +0100 Subject: [PATCH] compat: fix static_assert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit compat: fix static_assert It was not possible to use it outside of functions. Signed-off-by: RĂ©mi Denis-Courmont Signed-off-by: Bernd Kuhls --- include/vlc_fixups.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h index 0d4fcd0c8d..0990915e5f 100644 --- a/include/vlc_fixups.h +++ b/include/vlc_fixups.h @@ -240,7 +240,9 @@ static inline locale_t newlocale(int mask, const char * locale, locale_t base) #endif #if !defined (HAVE_STATIC_ASSERT) && !defined(__cpp_static_assert) -# define _Static_assert(x, s) ((void) sizeof (struct { unsigned:-!(x); })) +# define STATIC_ASSERT_CONCAT_(a, b) a##b +# define STATIC_ASSERT_CONCAT(a, b) STATIC_ASSERT_CONCAT_(a, b) +# define _Static_assert(x, s) extern char STATIC_ASSERT_CONCAT(static_assert_, __LINE__)[sizeof(struct { unsigned:-!(x); })] # define static_assert _Static_assert #endif -- 2.14.3