ECB_GCC_VERSION
#if ECB_GCC_VERSION(4,3) || (ECB_CLANG_BUILTIN(__builtin_bswap32) && ECB_CLANG_BUILTIN(__builtin_bswap64))
#if ECB_GCC_VERSION(4,8) || ECB_CLANG_BUILTIN(__builtin_bswap16)
#if ECB_GCC_VERSION(4,5) || ECB_CLANG_BUILTIN(__builtin_unreachable)
#if ECB_GCC_VERSION(3,0) || ECB_C99
#if ECB_GCC_VERSION(2,5) || defined __INTEL_COMPILER || (__llvm__ && __GNUC__) || __SUNPRO_C >= 0x5110 || __SUNPRO_CC >= 0x5110
#if ECB_GCC_VERSION(4,7)
#elif ECB_GCC_VERSION(4,4) || defined __INTEL_COMPILER || defined __clang__
#elif ECB_GCC_VERSION(2,5)
#if ECB_GCC_VERSION(3,3)
#if ECB_GCC_VERSION(3,1) || ECB_CLANG_VERSION(2,8)
#if ECB_GCC_VERSION(3,1) || ECB_CLANG_BUILTIN(__builtin_constant_p)
#if ECB_GCC_VERSION(3,1) || ECB_CLANG_BUILTIN(__builtin_expect)
#if ECB_GCC_VERSION(3,1) || ECB_CLANG_BUILTIN(__builtin_prefetch)
#elif ECB_GCC_VERSION(3,0) || ECB_CLANG_VERSION(2,8)
#elif ECB_GCC_VERSION(4,5)
#if ECB_GCC_VERSION(4,3)
#if ECB_GCC_VERSION(3,4) \