__GNUC__
#elif defined (__GNUC__) || defined (__clang__)
#if defined (__GNUC__) || defined (__clang__)
#ifdef __GNUC__
#elif defined (__GNUC__) || defined (__clang__)
#if (defined (__GNUC__) && __GNUC__ >= 4) || defined (__clang__)
#if defined (__GNUC__) || defined (__clang__)
#if !defined (__GNUC__)
#if defined (__GNUC__) && defined (__pic__) && !defined (USING_LTO) && !defined (__APPLE__)
#elif defined (__GNUC__)
#if defined (__GNUC__) || defined (__clang__)
#if defined (__GNUC__) || defined (__clang__)
#if !defined (__GNUC__) && !defined (__ASSEMBLER__)
#if !defined (__GNUC__)
#elif defined (__GNUC__) || defined (__clang__)
#if defined (__GNUC__) || defined (__clang__)
(defined(_USE_CTYPE_INLINE_) || defined(__GNUC__) || defined(__cplusplus))
#if __STDC_VERSION__ < 199901L && __GNUC__ < 3 && !defined(__INTEL_COMPILER)
#if defined(__GNUC__) && defined(__STDC__)
#if __GNUC__ >= 2 || defined(__INTEL_COMPILER)
#if defined(__GNUC__) && !defined(__GNUC_STDC_INLINE__)
#if __GNUC__ >= 2
#elif defined(__GNUG__) && defined(__GNUC__) && __GNUC__ >= 4
#if defined(__GNUC__)
#if defined(__GNUC__)
#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
(__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))
#if __GNUC__ == 2 && __GNUC_MINOR__ >= 5 && __GNUC_MINOR__ < 7 && !defined(__INTEL_COMPILER)
#if (defined(__INTEL_COMPILER) || (defined(__GNUC__) && __GNUC__ >= 2)) && !defined(__STRICT_ANSI__) || __STDC_VERSION__ >= 199901
#if !(__GNUC__ == 2 && __GNUC_MINOR__ == 95)
defined(__GNUC__) && !defined(__INTEL_COMPILER)
#if defined(__GNUC__) || defined(__INTEL_COMPILER)
#if defined(__GNUC__) || defined(__INTEL_COMPILER)
#if defined(__GNUC__) || defined(__INTEL_COMPILER)
#if __GNUC__ >= 3 || defined(__INTEL_COMPILER)
#if (__GNUC_MINOR__ > 95 || __GNUC__ >= 3)
#if __STDC_VERSION__ < 199901L && __GNUC__ < 3 && !defined(__INTEL_COMPILER)
#ifndef __GNUC__
#ifndef __GNUC__
#if !defined(__SVR4) && !defined(__GNUC__)
#if !defined(__SVR4) && defined(__GNUC__)
#if !defined(__SVR4) && !defined(__GNUC__)
#if !defined(__SVR4) && defined(__GNUC__)
#if !defined(__hpux) && (!defined(__SVR4) && !defined(__GNUC__))
#if !defined(__SVR4) && !defined(__GNUC__)
#ifdef __GNUC__
#if defined(__linux__) && defined(__GNUC__) && defined(__cplusplus) && \
# if __GNUC__ == 2 && __GNUC_MINOR__ >= 7
# if __GNUC__ >= 2
# if __GNUC__ == 2 && __GNUC_MINOR__ < 5
# if __GNUC__ >= 2
# if __GNUC__ == 2 && __GNUC_MINOR__ < 7
# if !defined(__GNUC__ )
# ifdef __GNUC__
# if defined(__GNUC__)
#ifdef __GNUC__
#ifdef __GNUC__
#ifdef __GNUC__
#if defined(__GNUC__)
#if !defined HAVE__GENERIC && defined __GNUC__ && !defined __STRICT_ANSI__
# define HAVE__GENERIC (4 < __GNUC__ + (9 <= __GNUC_MINOR__))
#elif 7 <= __GNUC__
# if 3 < __GNUC__ + (2 <= __GNUC_MINOR__)
# if 7 <= __GNUC__
# if 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__)
#if __GNUC__ < 3
# elif 4 < __GNUC__ + (5 <= __GNUC_MINOR__)
#ifndef __GNUC__
#if defined(__GNUC__) && defined(__i386__) || \
#if !defined(_MSC_VER) && !defined(__GNUC__)
#if defined(__GNUC__) || (defined(__SUNPRO_C) && __SUNPRO_C > 0x590 && \
#if ((__GNUC__ >= 4) || defined(__PGIC__)) && !defined(ld_swap32)
#if ((__GNUC__ >= 4) || defined(__PGIC__)) && !defined(ld_swap64)
#if !defined(__GNUC__)
#if !defined(__lint) && defined(__GNUC__)
#if !defined(__GNUC__)
#if !defined(__lint) && defined(__GNUC__)
#if defined(__GNUC__) && defined(_LP64)
#define GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)
#elif defined(__GNUC__) && (GCC_VERSION >= 304) && \
#elif defined(__GNUC__) && (GCC_VERSION >= 304) && \
#elif defined(__GNUC__) && (GCC_VERSION >= 304) && \
#elif defined(__GNUC__) && (GCC_VERSION >= 304) && \
#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
(__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))
#ifdef __GNUC__
#ifdef __GNUC__
#define GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)
#if defined(__GNUC__)
#if __GNUC__ >= 4
#if defined(__cplusplus) && defined(__GNUC__)
#if defined(__cplusplus) && !defined(__GNUC__) && (__cplusplus < 54321L)
#if defined(__GNUC__)
#ifdef __GNUC__
#ifdef __GNUC__
#if defined (__GNUC__)
#if ((__GNUC__ >= 2) && !defined(ASN1BUF_OMIT_INLINE_FUNCS))
#ifdef __GNUC__
#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
#ifdef __GNUC__
#if defined(__GNUC__) && defined(K5_LE)
#elif defined(__GNUC__) && defined(K5_BE) && defined(SWAP32)
#if defined(__GNUC__) && defined(K5_LE)
#elif defined(__GNUC__) && defined(K5_BE) && defined(SWAP64)
#if defined(__GNUC__) && defined(K5_LE)
#elif defined(__GNUC__) && defined(K5_BE) && defined(SWAP16)
#if defined(__GNUC__) && defined(K5_LE)
#elif defined(__GNUC__) && defined(K5_BE) && defined(SWAP32)
#if defined(__GNUC__) && defined(K5_LE)
#elif defined(__GNUC__) && defined(K5_BE) && defined(SWAP64)
#if defined(__GNUC__) && defined(K5_LE)
#elif defined(__GNUC__) && defined(K5_BE) && defined(SWAP16)
|| (!defined __cplusplus && __GNUC__ >= 3)
#if (defined(__GNUC__) && defined(__mips__)) || 1 /* thread safety always */
#if defined(__GNUC__)
#if defined(__GNUC__)
#if !defined(__lint) && defined(__GNUC__)
#if !defined(__lint) && defined(__GNUC__)
#if __GNUC__ > 3
#if !defined(__GNUC__)
#elif __GNUC__ >= 5 && __GNUC_MINOR__ > 1
#ifdef __GNUC__
#if defined(__GNUC__)
#ifdef __GNUC__
#ifdef __GNUC__
#ifdef __GNUC__
#ifdef __GNUC__
#if defined(sun) && !defined(__GNUC__)
#ifdef __GNUC__
#ifdef __GNUC__
#ifdef __GNUC__
# if defined(__STDC__) || defined(__GNUC__)
#if defined(__STDC__) || defined(__GNUC__)
#ifdef __GNUC__
#ifndef __GNUC__
#if !defined(__GNUC__) || __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
#ifndef __GNUC__
#ifdef __GNUC__
# ifdef __GNUC__
#if !defined(__lint) && defined(__GNUC__)
#if defined(__GNUC__)
#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8))
#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4))
#ifndef __GNUC__
int gcc_major = __GNUC__;
#ifdef __GNUC__
#if !(defined(__amd64) && defined(__GNUC__)) /* XX64 - fix me */
#ifdef __GNUC__
#if defined(__GNUC__)
#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \
#if !defined(__cplusplus) && (__GNUC__ > 2)
#elif defined(__palmos__) && !defined(__GNUC__)
# if defined(__GNUC__) && defined(__GLIBC__)
# ifdef __GNUC__
#elif defined(__GNUC__) && !defined(_WIN32) && defined(CONSTRUCTOR_ATTR_WORKS)
#elif defined(__GNUC__) && defined(DESTRUCTOR_ATTR_WORKS)
#if __GNUC__ >= 2
#ifdef __GNUC__
# if defined(__GNUC__) && __GNUC__ < 3
# ifdef __GNUC__
#ifdef __GNUC__
#ifdef __GNUC__
#if (defined(sun) || defined(ibm032)) && !defined(__GNUC__)
#if !defined(__GNUC__) || \
#if defined(__STDC__) || defined(__GNUC__) || defined(_AIX51)
#if defined(__STDC__) || defined(__GNUC__) || defined(_AIX51)
#if defined(__STDC__) || defined(__GNUC__) || defined(_AIX51)
#if defined(__STDC__) || defined(__GNUC__) || defined(_AIX51)
#if defined(__STDC__) || defined(__GNUC__) || defined(_AIX51)
#ifdef __GNUC__
#ifndef __GNUC__
#ifdef __GNUC__
#if defined(_MSC_VER) || defined(__GNUC__)
#if defined(__GNUC__) && (__GNUC__ > 2)
#if defined(__GNUC__) || defined(__DMC__) || defined(__POCC__) ||\
#if defined(__GNUC__)
#ifdef __GNUC__
#ifdef __GNUC__
#ifdef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifndef __GNUC__
#ifdef __GNUC__
#ifdef __GNUC__
#ifdef __GNUC__
#if defined(_KERNEL) && defined(__GNUC__) && defined(_ASM_INLINES) && \
#if defined(__GNUC__) && defined(_ASM_INLINES) && \
#if defined(__GNUC__) && defined(_ASM_INLINES) && \
#if defined(__GNUC__)
(__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
#if defined(__ATTRIBUTE_IMPLEMENTED) || defined(__GNUC__)
#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))
#if defined(__GNUC__) && defined(_ASM_INLINES) && defined(_KERNEL) && \
#if (__STDC__ - 0 == 1 && !defined(__GNUC__)) || \
(defined(__GNUC__) && defined(__STRICT_ANSI__))
#if !defined(_STDC_C99) && defined(_STRICT_STDC) && !defined(__GNUC__)
#if defined(_STDC_C99) || defined(__C99FEATURES__) || __GNUC__ >= 3
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)
#if defined(__GNUC__) && defined(_ASM_INLINES) && defined(_KERNEL)
#if defined(__GNUC__) && defined(_ASM_INLINES) && defined(_KERNEL)
#if __GNUC__ == 1
#elif defined(__GNUC__) && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 96) || \
(__GNUC__ >= 3)) /* ------------------------ protocol */
#if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3))
#elif (defined(__GNUC__) && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 96) || \
(__GNUC__ >= 3))) && !defined(__lint) /* ---------------- protocol */
#if defined(__GNUC__)
#if defined(__GNUC__)
#ifdef __GNUC__
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
#ifdef __GNUC__
#if defined(__GNUC__)
#if defined(__GNUC__) && defined(_ASM_INLINES)
#if defined(__GNUC__)
#if defined(__GNUC__) && defined(_ASM_INLINES) && defined(_KERNEL)
#if !defined(__GNUC__) && defined(__i386__)
#if !defined(__lint) && defined(__GNUC__)
#if !defined(__lint) && defined(__GNUC__)
#if !defined(__lint) && defined(__GNUC__)
#if !defined(__lint) && defined(__GNUC__)
#if !defined(__lint) && defined(__GNUC__)
#if !defined(__lint) && defined(__GNUC__)
#if !defined(__lint) && defined(__GNUC__)
#if !defined(__lint) && defined(__GNUC__)
#if defined(__GNUC__)
#if !defined(__lint) && defined(__GNUC__)
#if !defined(__lint) && defined(__GNUC__)
#ifdef __GNUC__
#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))
#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
#if defined(__GNUC__) && defined(_ASM_INLINES)
#if !defined(__lint) && defined(__GNUC__)
#if !defined(__lint) && defined(__GNUC__)
#if !defined(__lint) && defined(__GNUC__)
#if !defined(__lint) && defined(__GNUC__)
#if defined(__GNUC__) && defined(_ASM_INLINES)
#if defined(__GNUC__) && defined(_ASM_INLINES)