From: Thomas Guillem Date: Mon, 14 Dec 2015 09:08:25 +0000 (+0100) Subject: compat: fix static_assert X-Git-Url: http://git.videolan.org/?p=vlc.git;a=commitdiff_plain;h=6faf9066670db6e0d241ead6a3926b2d9cc6a041 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 --- diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h index 213d3f3..bd798d0 100644 --- a/include/vlc_fixups.h +++ b/include/vlc_fixups.h @@ -273,7 +273,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