c = NULL;
])],[AC_DEFINE([HAVE_VASPRINTF],[1],[Define to 1 if you have asprintf function])],[AC_LIBOBJ([vasprintf])])
+dnl C11 static_assert()
+AC_MSG_CHECKING([for static_assert in assert.h])
+AC_PREPROC_IFELSE([AC_LANG_SOURCE([
+#include <assert.h>
+#ifndef static_assert
+# error BOOM!
+#endif
+])], [
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([HAVE_STATIC_ASSERT], [1], [Define to 1 if <assert.h> defines static_assert.])
+], [
+ AC_MSG_RESULT([no])
+])
+
# Windows CE does not have strcoll()
AC_FUNC_STRCOLL
}
#endif
+#if !defined (HAVE_STATIC_ASSERT)
+# define _Static_assert(x, s) ((void) sizeof (struct { unsigned:-!(x); }))
+# define static_assert _Static_assert
+#endif
+
/* Alignment of critical static data structures */
#ifdef ATTRIBUTE_ALIGNED_MAX
# define ATTR_ALIGN(align) __attribute__ ((__aligned__ ((ATTRIBUTE_ALIGNED_MAX < align) ? ATTRIBUTE_ALIGNED_MAX : align)))