#ifndef TOR_CTASSERT_H
#define TOR_CTASSERT_H
#include "lib/cc/compat_compiler.h"
#if __STDC_VERSION__ >= 201112L
#define CTASSERT(x) _Static_assert((x), #x)
#else
#if defined(__COUNTER__)
#define CTASSERT(x) CTASSERT_EXPN((x), c, __COUNTER__)
#elif defined(__INCLUDE_LEVEL__)
#define CTASSERT(x) CTASSERT_EXPN((x), __INCLUDE_LEVEL__, __LINE__)
#else
#define CTASSERT(x) CTASSERT_EXPN((x), l, __LINE__)
#endif
#define CTASSERT_EXPN(x, a, b) CTASSERT_DECL(x, a, b)
#define CTASSERT_DECL(x, a, b) \
typedef char tor_ctassert_##a##_##b[(x) ? 1 : -1] ATTR_UNUSED; EAT_SEMICOLON
#endif
#endif