Use autoconf FLEXIBLE_ARRAY_MEMBER when available
This commit is contained in:
parent
d33f674cb7
commit
c65b26acf2
|
@ -11,6 +11,8 @@ AC_PROG_LIBTOOL dnl ([1.4]) Don't remove!
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
AC_PROG_CXX
|
AC_PROG_CXX
|
||||||
|
|
||||||
|
AC_C_FLEXIBLE_ARRAY_MEMBER
|
||||||
|
|
||||||
AC_CHECK_FUNCS(mprotect sysconf getpagesize)
|
AC_CHECK_FUNCS(mprotect sysconf getpagesize)
|
||||||
AC_CHECK_HEADERS(unistd.h sys/mman.h)
|
AC_CHECK_HEADERS(unistd.h sys/mman.h)
|
||||||
|
|
||||||
|
|
|
@ -35,8 +35,8 @@
|
||||||
|
|
||||||
typedef SHORT Value;
|
typedef SHORT Value;
|
||||||
|
|
||||||
typedef Value ValueRecord[VAR];
|
typedef Value ValueRecord[VAR0];
|
||||||
ASSERT_SIZE_VAR (Value, 0, ValueRecord);
|
ASSERT_SIZE_VAR (ValueRecord, 0, Value);
|
||||||
|
|
||||||
struct ValueFormat : USHORT
|
struct ValueFormat : USHORT
|
||||||
{
|
{
|
||||||
|
|
|
@ -148,11 +148,18 @@ typedef int hb_mutex_t;
|
||||||
|
|
||||||
#define ASSERT_SIZE(_type, _size) ASSERT_STATIC (sizeof (_type) == (_size))
|
#define ASSERT_SIZE(_type, _size) ASSERT_STATIC (sizeof (_type) == (_size))
|
||||||
|
|
||||||
#define VAR 1 /* Size signifying variable-sized array */
|
/* Size signifying variable-sized array */
|
||||||
|
#ifdef FLEXIBLE_ARRAY_MEMBER
|
||||||
|
#define VAR FLEXIBLE_ARRAY_MEMBER
|
||||||
|
#else
|
||||||
|
#define VAR 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define VAR0 (VAR+0)
|
||||||
#define ASSERT_SIZE_VAR(_type, _size, _var_type) \
|
#define ASSERT_SIZE_VAR(_type, _size, _var_type) \
|
||||||
ASSERT_STATIC (sizeof (_type) == (_size) + VAR * sizeof (_var_type))
|
ASSERT_STATIC (sizeof (_type) == (_size) + VAR0 * sizeof (_var_type))
|
||||||
#define ASSERT_SIZE_VAR2(_type, _size, _var_type1, _var_type2) \
|
#define ASSERT_SIZE_VAR2(_type, _size, _var_type1, _var_type2) \
|
||||||
ASSERT_STATIC (sizeof (_type) == (_size) + VAR * sizeof (_var_type1) + VAR * sizeof (_var_type2))
|
ASSERT_STATIC (sizeof (_type) == (_size) + VAR0 * sizeof (_var_type1) + VAR0 * sizeof (_var_type2))
|
||||||
|
|
||||||
#if defined(__GNUC__) && (__GNUC__ > 2) && defined(__OPTIMIZE__)
|
#if defined(__GNUC__) && (__GNUC__ > 2) && defined(__OPTIMIZE__)
|
||||||
#define _HB_BOOLEAN_EXPR(expr) \
|
#define _HB_BOOLEAN_EXPR(expr) \
|
||||||
|
|
Loading…
Reference in New Issue