diff --git include/vlc_fixups.h include/vlc_fixups.h
index 997f600..d65f41c 100644
@@ -239,9 +239,9 @@ static inline locale_t newlocale(int mask, const char * locale, locale_t base)
-#if !defined (HAVE_STATIC_ASSERT)
-# define _Static_assert(x, s) ((void) sizeof (struct { unsigned:-!(x); }))
# define static_assert _Static_assert
+#if !defined (HAVE_STATIC_ASSERT) && !defined (static_assert)
+# define _Static_assert(x, s) ((void) sizeof (struct { unsigned a[(x) ? 1 : -1];}))
/* Alignment of critical static data structures */