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

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

#if defined(LO_FLAGS_READ_ONLY) || (defined(HAVE_DECL_LO_FLAGS_READ_ONLY) && HAVE_DECL_LO_FLAGS_READ_ONLY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((LO_FLAGS_READ_ONLY) == (1), "LO_FLAGS_READ_ONLY != 1");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define LO_FLAGS_READ_ONLY 1
#endif
#if defined(LO_FLAGS_USE_AOPS) || (defined(HAVE_DECL_LO_FLAGS_USE_AOPS) && HAVE_DECL_LO_FLAGS_USE_AOPS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((LO_FLAGS_USE_AOPS) == (2), "LO_FLAGS_USE_AOPS != 2");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define LO_FLAGS_USE_AOPS 2
#endif
#if defined(LO_FLAGS_AUTOCLEAR) || (defined(HAVE_DECL_LO_FLAGS_AUTOCLEAR) && HAVE_DECL_LO_FLAGS_AUTOCLEAR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((LO_FLAGS_AUTOCLEAR) == (4), "LO_FLAGS_AUTOCLEAR != 4");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define LO_FLAGS_AUTOCLEAR 4
#endif
#if defined(LO_FLAGS_PARTSCAN) || (defined(HAVE_DECL_LO_FLAGS_PARTSCAN) && HAVE_DECL_LO_FLAGS_PARTSCAN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((LO_FLAGS_PARTSCAN) == (8), "LO_FLAGS_PARTSCAN != 8");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define LO_FLAGS_PARTSCAN 8
#endif
#if defined(LO_FLAGS_DIRECT_IO) || (defined(HAVE_DECL_LO_FLAGS_DIRECT_IO) && HAVE_DECL_LO_FLAGS_DIRECT_IO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((LO_FLAGS_DIRECT_IO) == (16), "LO_FLAGS_DIRECT_IO != 16");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define LO_FLAGS_DIRECT_IO 16
#endif
#undef XLAT_PREV_VAL

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

extern const struct xlat loop_flags_options[];

# else

DIAG_PUSH_IGNORE_TAUTOLOGICAL_CONSTANT_COMPARE
static const struct xlat_data loop_flags_options_xdata[] = {
 XLAT(LO_FLAGS_READ_ONLY),
 #define XLAT_VAL_0 ((unsigned) (LO_FLAGS_READ_ONLY))
 #define XLAT_STR_0 STRINGIFY(LO_FLAGS_READ_ONLY)

 XLAT(LO_FLAGS_USE_AOPS),
 #define XLAT_VAL_1 ((unsigned) (LO_FLAGS_USE_AOPS))
 #define XLAT_STR_1 STRINGIFY(LO_FLAGS_USE_AOPS)

 XLAT(LO_FLAGS_AUTOCLEAR),
 #define XLAT_VAL_2 ((unsigned) (LO_FLAGS_AUTOCLEAR))
 #define XLAT_STR_2 STRINGIFY(LO_FLAGS_AUTOCLEAR)

 XLAT(LO_FLAGS_PARTSCAN),
 #define XLAT_VAL_3 ((unsigned) (LO_FLAGS_PARTSCAN))
 #define XLAT_STR_3 STRINGIFY(LO_FLAGS_PARTSCAN)

 XLAT(LO_FLAGS_DIRECT_IO),
 #define XLAT_VAL_4 ((unsigned) (LO_FLAGS_DIRECT_IO))
 #define XLAT_STR_4 STRINGIFY(LO_FLAGS_DIRECT_IO)
};
#  if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
#  endif
const struct xlat loop_flags_options[1] = { {
 .data = loop_flags_options_xdata,
 .size = ARRAY_SIZE(loop_flags_options_xdata),
 .type = XT_NORMAL,
 .flags_mask = 0
#  ifdef XLAT_VAL_0
  | XLAT_VAL_0
#  endif
#  ifdef XLAT_VAL_1
  | XLAT_VAL_1
#  endif
#  ifdef XLAT_VAL_2
  | XLAT_VAL_2
#  endif
#  ifdef XLAT_VAL_3
  | XLAT_VAL_3
#  endif
#  ifdef XLAT_VAL_4
  | XLAT_VAL_4
#  endif
  ,
 .flags_strsz = 0
#  ifdef XLAT_STR_0
  + sizeof(XLAT_STR_0)
#  endif
#  ifdef XLAT_STR_1
  + sizeof(XLAT_STR_1)
#  endif
#  ifdef XLAT_STR_2
  + sizeof(XLAT_STR_2)
#  endif
#  ifdef XLAT_STR_3
  + sizeof(XLAT_STR_3)
#  endif
#  ifdef XLAT_STR_4
  + sizeof(XLAT_STR_4)
#  endif
  ,
} };
DIAG_POP_IGNORE_TAUTOLOGICAL_CONSTANT_COMPARE

#  undef XLAT_STR_0
#  undef XLAT_VAL_0
#  undef XLAT_STR_1
#  undef XLAT_VAL_1
#  undef XLAT_STR_2
#  undef XLAT_VAL_2
#  undef XLAT_STR_3
#  undef XLAT_VAL_3
#  undef XLAT_STR_4
#  undef XLAT_VAL_4
# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
