/* Generated by ./xlat/gen.sh from ./xlat/futexbitset.in; do not edit. */

#include "gcc_compat.h"
#include "static_assert.h"

#if defined(FUTEX_BITSET_MATCH_ANY) || (defined(HAVE_DECL_FUTEX_BITSET_MATCH_ANY) && HAVE_DECL_FUTEX_BITSET_MATCH_ANY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((FUTEX_BITSET_MATCH_ANY) == (0xffffffff), "FUTEX_BITSET_MATCH_ANY != 0xffffffff");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define FUTEX_BITSET_MATCH_ANY 0xffffffff
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat futexbitset in mpers mode

# else

static
const struct xlat futexbitset[] = {
 XLAT(FUTEX_BITSET_MATCH_ANY),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
