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

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

#if defined(PR_TSC_ENABLE) || (defined(HAVE_DECL_PR_TSC_ENABLE) && HAVE_DECL_PR_TSC_ENABLE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((PR_TSC_ENABLE) == (1), "PR_TSC_ENABLE != 1");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define PR_TSC_ENABLE 1
#endif
#if defined(PR_TSC_SIGSEGV) || (defined(HAVE_DECL_PR_TSC_SIGSEGV) && HAVE_DECL_PR_TSC_SIGSEGV)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((PR_TSC_SIGSEGV) == (2), "PR_TSC_SIGSEGV != 2");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define PR_TSC_SIGSEGV 2
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat pr_tsc in mpers mode

# else

static
const struct xlat pr_tsc[] = {
 XLAT(PR_TSC_ENABLE),
 XLAT(PR_TSC_SIGSEGV),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
