// This is a generated file. Do not edit! #ifndef ONIXS_FIXENGINE_COMPILER_DETECTION_H #define ONIXS_FIXENGINE_COMPILER_DETECTION_H #ifdef __cplusplus # define ONIXS_FIXENGINE_COMPILER_IS_Comeau 0 # define ONIXS_FIXENGINE_COMPILER_IS_Intel 0 # define ONIXS_FIXENGINE_COMPILER_IS_IntelLLVM 0 # define ONIXS_FIXENGINE_COMPILER_IS_PathScale 0 # define ONIXS_FIXENGINE_COMPILER_IS_Embarcadero 0 # define ONIXS_FIXENGINE_COMPILER_IS_Borland 0 # define ONIXS_FIXENGINE_COMPILER_IS_Watcom 0 # define ONIXS_FIXENGINE_COMPILER_IS_OpenWatcom 0 # define ONIXS_FIXENGINE_COMPILER_IS_SunPro 0 # define ONIXS_FIXENGINE_COMPILER_IS_HP 0 # define ONIXS_FIXENGINE_COMPILER_IS_Compaq 0 # define ONIXS_FIXENGINE_COMPILER_IS_zOS 0 # define ONIXS_FIXENGINE_COMPILER_IS_IBMClang 0 # define ONIXS_FIXENGINE_COMPILER_IS_XLClang 0 # define ONIXS_FIXENGINE_COMPILER_IS_XL 0 # define ONIXS_FIXENGINE_COMPILER_IS_VisualAge 0 # define ONIXS_FIXENGINE_COMPILER_IS_NVHPC 0 # define ONIXS_FIXENGINE_COMPILER_IS_PGI 0 # define ONIXS_FIXENGINE_COMPILER_IS_Cray 0 # define ONIXS_FIXENGINE_COMPILER_IS_TI 0 # define ONIXS_FIXENGINE_COMPILER_IS_FujitsuClang 0 # define ONIXS_FIXENGINE_COMPILER_IS_Fujitsu 0 # define ONIXS_FIXENGINE_COMPILER_IS_GHS 0 # define ONIXS_FIXENGINE_COMPILER_IS_Tasking 0 # define ONIXS_FIXENGINE_COMPILER_IS_SCO 0 # define ONIXS_FIXENGINE_COMPILER_IS_ARMCC 0 # define ONIXS_FIXENGINE_COMPILER_IS_AppleClang 0 # define ONIXS_FIXENGINE_COMPILER_IS_ARMClang 0 # define ONIXS_FIXENGINE_COMPILER_IS_Clang 0 # define ONIXS_FIXENGINE_COMPILER_IS_LCC 0 # define ONIXS_FIXENGINE_COMPILER_IS_GNU 0 # define ONIXS_FIXENGINE_COMPILER_IS_MSVC 0 # define ONIXS_FIXENGINE_COMPILER_IS_ADSP 0 # define ONIXS_FIXENGINE_COMPILER_IS_IAR 0 # define ONIXS_FIXENGINE_COMPILER_IS_MIPSpro 0 #if defined(__COMO__) # undef ONIXS_FIXENGINE_COMPILER_IS_Comeau # define ONIXS_FIXENGINE_COMPILER_IS_Comeau 1 #elif defined(__INTEL_COMPILER) || defined(__ICC) # undef ONIXS_FIXENGINE_COMPILER_IS_Intel # define ONIXS_FIXENGINE_COMPILER_IS_Intel 1 #elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) # undef ONIXS_FIXENGINE_COMPILER_IS_IntelLLVM # define ONIXS_FIXENGINE_COMPILER_IS_IntelLLVM 1 #elif defined(__PATHCC__) # undef ONIXS_FIXENGINE_COMPILER_IS_PathScale # define ONIXS_FIXENGINE_COMPILER_IS_PathScale 1 #elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) # undef ONIXS_FIXENGINE_COMPILER_IS_Embarcadero # define ONIXS_FIXENGINE_COMPILER_IS_Embarcadero 1 #elif defined(__BORLANDC__) # undef ONIXS_FIXENGINE_COMPILER_IS_Borland # define ONIXS_FIXENGINE_COMPILER_IS_Borland 1 #elif defined(__WATCOMC__) && __WATCOMC__ < 1200 # undef ONIXS_FIXENGINE_COMPILER_IS_Watcom # define ONIXS_FIXENGINE_COMPILER_IS_Watcom 1 #elif defined(__WATCOMC__) # undef ONIXS_FIXENGINE_COMPILER_IS_OpenWatcom # define ONIXS_FIXENGINE_COMPILER_IS_OpenWatcom 1 #elif defined(__SUNPRO_CC) # undef ONIXS_FIXENGINE_COMPILER_IS_SunPro # define ONIXS_FIXENGINE_COMPILER_IS_SunPro 1 #elif defined(__HP_aCC) # undef ONIXS_FIXENGINE_COMPILER_IS_HP # define ONIXS_FIXENGINE_COMPILER_IS_HP 1 #elif defined(__DECCXX) # undef ONIXS_FIXENGINE_COMPILER_IS_Compaq # define ONIXS_FIXENGINE_COMPILER_IS_Compaq 1 #elif defined(__IBMCPP__) && defined(__COMPILER_VER__) # undef ONIXS_FIXENGINE_COMPILER_IS_zOS # define ONIXS_FIXENGINE_COMPILER_IS_zOS 1 #elif defined(__open_xl__) && defined(__clang__) # undef ONIXS_FIXENGINE_COMPILER_IS_IBMClang # define ONIXS_FIXENGINE_COMPILER_IS_IBMClang 1 #elif defined(__ibmxl__) && defined(__clang__) # undef ONIXS_FIXENGINE_COMPILER_IS_XLClang # define ONIXS_FIXENGINE_COMPILER_IS_XLClang 1 #elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 # undef ONIXS_FIXENGINE_COMPILER_IS_XL # define ONIXS_FIXENGINE_COMPILER_IS_XL 1 #elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 # undef ONIXS_FIXENGINE_COMPILER_IS_VisualAge # define ONIXS_FIXENGINE_COMPILER_IS_VisualAge 1 #elif defined(__NVCOMPILER) # undef ONIXS_FIXENGINE_COMPILER_IS_NVHPC # define ONIXS_FIXENGINE_COMPILER_IS_NVHPC 1 #elif defined(__PGI) # undef ONIXS_FIXENGINE_COMPILER_IS_PGI # define ONIXS_FIXENGINE_COMPILER_IS_PGI 1 #elif defined(_CRAYC) # undef ONIXS_FIXENGINE_COMPILER_IS_Cray # define ONIXS_FIXENGINE_COMPILER_IS_Cray 1 #elif defined(__TI_COMPILER_VERSION__) # undef ONIXS_FIXENGINE_COMPILER_IS_TI # define ONIXS_FIXENGINE_COMPILER_IS_TI 1 #elif defined(__CLANG_FUJITSU) # undef ONIXS_FIXENGINE_COMPILER_IS_FujitsuClang # define ONIXS_FIXENGINE_COMPILER_IS_FujitsuClang 1 #elif defined(__FUJITSU) # undef ONIXS_FIXENGINE_COMPILER_IS_Fujitsu # define ONIXS_FIXENGINE_COMPILER_IS_Fujitsu 1 #elif defined(__ghs__) # undef ONIXS_FIXENGINE_COMPILER_IS_GHS # define ONIXS_FIXENGINE_COMPILER_IS_GHS 1 #elif defined(__TASKING__) # undef ONIXS_FIXENGINE_COMPILER_IS_Tasking # define ONIXS_FIXENGINE_COMPILER_IS_Tasking 1 #elif defined(__SCO_VERSION__) # undef ONIXS_FIXENGINE_COMPILER_IS_SCO # define ONIXS_FIXENGINE_COMPILER_IS_SCO 1 #elif defined(__ARMCC_VERSION) && !defined(__clang__) # undef ONIXS_FIXENGINE_COMPILER_IS_ARMCC # define ONIXS_FIXENGINE_COMPILER_IS_ARMCC 1 #elif defined(__clang__) && defined(__apple_build_version__) # undef ONIXS_FIXENGINE_COMPILER_IS_AppleClang # define ONIXS_FIXENGINE_COMPILER_IS_AppleClang 1 #elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) # undef ONIXS_FIXENGINE_COMPILER_IS_ARMClang # define ONIXS_FIXENGINE_COMPILER_IS_ARMClang 1 #elif defined(__clang__) # undef ONIXS_FIXENGINE_COMPILER_IS_Clang # define ONIXS_FIXENGINE_COMPILER_IS_Clang 1 #elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) # undef ONIXS_FIXENGINE_COMPILER_IS_LCC # define ONIXS_FIXENGINE_COMPILER_IS_LCC 1 #elif defined(__GNUC__) || defined(__GNUG__) # undef ONIXS_FIXENGINE_COMPILER_IS_GNU # define ONIXS_FIXENGINE_COMPILER_IS_GNU 1 #elif defined(_MSC_VER) # undef ONIXS_FIXENGINE_COMPILER_IS_MSVC # define ONIXS_FIXENGINE_COMPILER_IS_MSVC 1 #elif defined(_ADI_COMPILER) # undef ONIXS_FIXENGINE_COMPILER_IS_ADSP # define ONIXS_FIXENGINE_COMPILER_IS_ADSP 1 #elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) # undef ONIXS_FIXENGINE_COMPILER_IS_IAR # define ONIXS_FIXENGINE_COMPILER_IS_IAR 1 #endif # if ONIXS_FIXENGINE_COMPILER_IS_GNU # if !((__GNUC__ * 100 + __GNUC_MINOR__) >= 404) # error Unsupported compiler version # endif # if defined(__GNUC__) # define ONIXS_FIXENGINE_COMPILER_VERSION_MAJOR (__GNUC__) # else # define ONIXS_FIXENGINE_COMPILER_VERSION_MAJOR (__GNUG__) # endif # if defined(__GNUC_MINOR__) # define ONIXS_FIXENGINE_COMPILER_VERSION_MINOR (__GNUC_MINOR__) # endif # if defined(__GNUC_PATCHLEVEL__) # define ONIXS_FIXENGINE_COMPILER_VERSION_PATCH (__GNUC_PATCHLEVEL__) # endif # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L # define ONIXS_FIXENGINE_COMPILER_CXX_FINAL 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_FINAL 0 # endif # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L # define ONIXS_FIXENGINE_COMPILER_CXX_OVERRIDE 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_OVERRIDE 0 # endif # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) # define ONIXS_FIXENGINE_COMPILER_CXX_NOEXCEPT 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_NOEXCEPT 0 # endif # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) # define ONIXS_FIXENGINE_COMPILER_CXX_CONSTEXPR 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_CONSTEXPR 0 # endif # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) # define ONIXS_FIXENGINE_COMPILER_CXX_EXPLICIT_CONVERSIONS 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_EXPLICIT_CONVERSIONS 0 # endif # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) # define ONIXS_FIXENGINE_COMPILER_CXX_NULLPTR 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_NULLPTR 0 # endif # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) # define ONIXS_FIXENGINE_COMPILER_CXX_RVALUE_REFERENCES 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_RVALUE_REFERENCES 0 # endif # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) # define ONIXS_FIXENGINE_COMPILER_CXX_STATIC_ASSERT 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_STATIC_ASSERT 0 # endif # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L # define ONIXS_FIXENGINE_COMPILER_CXX_ALIGNAS 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_ALIGNAS 0 # endif # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L # define ONIXS_FIXENGINE_COMPILER_CXX_ALIAS_TEMPLATES 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_ALIAS_TEMPLATES 0 # endif # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L # define ONIXS_FIXENGINE_COMPILER_CXX_THREAD_LOCAL 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_THREAD_LOCAL 0 # endif # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) # define ONIXS_FIXENGINE_COMPILER_CXX_DEFAULTED_FUNCTIONS 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_DEFAULTED_FUNCTIONS 0 # endif # elif ONIXS_FIXENGINE_COMPILER_IS_MSVC # if !(_MSC_VER >= 1600) # error Unsupported compiler version # endif /* _MSC_VER = VVRR */ # define ONIXS_FIXENGINE_COMPILER_VERSION_MAJOR (_MSC_VER / 100) # define ONIXS_FIXENGINE_COMPILER_VERSION_MINOR (_MSC_VER % 100) # if defined(_MSC_FULL_VER) # if _MSC_VER >= 1400 /* _MSC_FULL_VER = VVRRPPPPP */ # define ONIXS_FIXENGINE_COMPILER_VERSION_PATCH (_MSC_FULL_VER % 100000) # else /* _MSC_FULL_VER = VVRRPPPP */ # define ONIXS_FIXENGINE_COMPILER_VERSION_PATCH (_MSC_FULL_VER % 10000) # endif # endif # if defined(_MSC_BUILD) # define ONIXS_FIXENGINE_COMPILER_VERSION_TWEAK (_MSC_BUILD) # endif # if _MSC_VER >= 1700 # define ONIXS_FIXENGINE_COMPILER_CXX_FINAL 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_FINAL 0 # endif # if _MSC_VER >= 1600 # define ONIXS_FIXENGINE_COMPILER_CXX_OVERRIDE 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_OVERRIDE 0 # endif # if _MSC_VER >= 1900 # define ONIXS_FIXENGINE_COMPILER_CXX_NOEXCEPT 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_NOEXCEPT 0 # endif # if _MSC_VER >= 1900 # define ONIXS_FIXENGINE_COMPILER_CXX_CONSTEXPR 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_CONSTEXPR 0 # endif # if _MSC_VER >= 1800 # define ONIXS_FIXENGINE_COMPILER_CXX_EXPLICIT_CONVERSIONS 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_EXPLICIT_CONVERSIONS 0 # endif # if _MSC_VER >= 1600 # define ONIXS_FIXENGINE_COMPILER_CXX_NULLPTR 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_NULLPTR 0 # endif # if _MSC_VER >= 1600 # define ONIXS_FIXENGINE_COMPILER_CXX_RVALUE_REFERENCES 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_RVALUE_REFERENCES 0 # endif # if _MSC_VER >= 1600 # define ONIXS_FIXENGINE_COMPILER_CXX_STATIC_ASSERT 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_STATIC_ASSERT 0 # endif # if _MSC_VER >= 1900 # define ONIXS_FIXENGINE_COMPILER_CXX_ALIGNAS 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_ALIGNAS 0 # endif # if _MSC_VER >= 1800 # define ONIXS_FIXENGINE_COMPILER_CXX_ALIAS_TEMPLATES 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_ALIAS_TEMPLATES 0 # endif # if _MSC_VER >= 1900 # define ONIXS_FIXENGINE_COMPILER_CXX_THREAD_LOCAL 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_THREAD_LOCAL 0 # endif # if _MSC_VER >= 1800 # define ONIXS_FIXENGINE_COMPILER_CXX_DEFAULTED_FUNCTIONS 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_DEFAULTED_FUNCTIONS 0 # endif # elif ONIXS_FIXENGINE_COMPILER_IS_Clang # if !(((__clang_major__ * 100) + __clang_minor__) >= 301) # error Unsupported compiler version # endif # define ONIXS_FIXENGINE_COMPILER_VERSION_MAJOR (__clang_major__) # define ONIXS_FIXENGINE_COMPILER_VERSION_MINOR (__clang_minor__) # define ONIXS_FIXENGINE_COMPILER_VERSION_PATCH (__clang_patchlevel__) # if defined(_MSC_VER) /* _MSC_VER = VVRR */ # define ONIXS_FIXENGINE_SIMULATE_VERSION_MAJOR (_MSC_VER / 100) # define ONIXS_FIXENGINE_SIMULATE_VERSION_MINOR (_MSC_VER % 100) # endif # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_override_control) # define ONIXS_FIXENGINE_COMPILER_CXX_FINAL 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_FINAL 0 # endif # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_override_control) # define ONIXS_FIXENGINE_COMPILER_CXX_OVERRIDE 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_OVERRIDE 0 # endif # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_noexcept) # define ONIXS_FIXENGINE_COMPILER_CXX_NOEXCEPT 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_NOEXCEPT 0 # endif # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_constexpr) # define ONIXS_FIXENGINE_COMPILER_CXX_CONSTEXPR 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_CONSTEXPR 0 # endif # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_explicit_conversions) # define ONIXS_FIXENGINE_COMPILER_CXX_EXPLICIT_CONVERSIONS 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_EXPLICIT_CONVERSIONS 0 # endif # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_nullptr) # define ONIXS_FIXENGINE_COMPILER_CXX_NULLPTR 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_NULLPTR 0 # endif # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_rvalue_references) # define ONIXS_FIXENGINE_COMPILER_CXX_RVALUE_REFERENCES 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_RVALUE_REFERENCES 0 # endif # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_static_assert) # define ONIXS_FIXENGINE_COMPILER_CXX_STATIC_ASSERT 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_STATIC_ASSERT 0 # endif # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_alignas) # define ONIXS_FIXENGINE_COMPILER_CXX_ALIGNAS 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_ALIGNAS 0 # endif # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_alias_templates) # define ONIXS_FIXENGINE_COMPILER_CXX_ALIAS_TEMPLATES 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_ALIAS_TEMPLATES 0 # endif # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_thread_local) # define ONIXS_FIXENGINE_COMPILER_CXX_THREAD_LOCAL 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_THREAD_LOCAL 0 # endif # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_defaulted_functions) # define ONIXS_FIXENGINE_COMPILER_CXX_DEFAULTED_FUNCTIONS 1 # else # define ONIXS_FIXENGINE_COMPILER_CXX_DEFAULTED_FUNCTIONS 0 # endif # else # error Unsupported compiler # endif # if defined(ONIXS_FIXENGINE_COMPILER_CXX_FINAL) && ONIXS_FIXENGINE_COMPILER_CXX_FINAL # define ONIXS_FIXENGINE_FINAL final # else # define ONIXS_FIXENGINE_FINAL # endif # if defined(ONIXS_FIXENGINE_COMPILER_CXX_OVERRIDE) && ONIXS_FIXENGINE_COMPILER_CXX_OVERRIDE # define ONIXS_FIXENGINE_OVERRIDE override # else # define ONIXS_FIXENGINE_OVERRIDE # endif # if defined(ONIXS_FIXENGINE_COMPILER_CXX_NOEXCEPT) && ONIXS_FIXENGINE_COMPILER_CXX_NOEXCEPT # define ONIXS_FIXENGINE_NOEXCEPT noexcept # define ONIXS_FIXENGINE_NOEXCEPT_EXPR(X) noexcept(X) # else # define ONIXS_FIXENGINE_NOEXCEPT # define ONIXS_FIXENGINE_NOEXCEPT_EXPR(X) # endif # if defined(ONIXS_FIXENGINE_COMPILER_CXX_CONSTEXPR) && ONIXS_FIXENGINE_COMPILER_CXX_CONSTEXPR # define ONIXS_FIXENGINE_CONSTEXPR constexpr # else # define ONIXS_FIXENGINE_CONSTEXPR # endif # if defined(ONIXS_FIXENGINE_COMPILER_CXX_NULLPTR) && ONIXS_FIXENGINE_COMPILER_CXX_NULLPTR # define ONIXS_FIXENGINE_NULLPTR nullptr # elif ONIXS_FIXENGINE_COMPILER_IS_GNU # define ONIXS_FIXENGINE_NULLPTR __null # else # define ONIXS_FIXENGINE_NULLPTR 0 # endif # if defined(ONIXS_FIXENGINE_COMPILER_CXX_STATIC_ASSERT) && ONIXS_FIXENGINE_COMPILER_CXX_STATIC_ASSERT # define ONIXS_FIXENGINE_STATIC_ASSERT(X) static_assert(X, #X) # define ONIXS_FIXENGINE_STATIC_ASSERT_MSG(X, MSG) static_assert(X, MSG) # else # define ONIXS_FIXENGINE_STATIC_ASSERT_JOIN(X, Y) ONIXS_FIXENGINE_STATIC_ASSERT_JOIN_IMPL(X, Y) # define ONIXS_FIXENGINE_STATIC_ASSERT_JOIN_IMPL(X, Y) X##Y template struct ONIXS_FIXENGINEStaticAssert; template<> struct ONIXS_FIXENGINEStaticAssert{}; # define ONIXS_FIXENGINE_STATIC_ASSERT(X) enum { ONIXS_FIXENGINE_STATIC_ASSERT_JOIN(ONIXS_FIXENGINEStaticAssertEnum, __LINE__) = sizeof(ONIXS_FIXENGINEStaticAssert) } # define ONIXS_FIXENGINE_STATIC_ASSERT_MSG(X, MSG) enum { ONIXS_FIXENGINE_STATIC_ASSERT_JOIN(ONIXS_FIXENGINEStaticAssertEnum, __LINE__) = sizeof(ONIXS_FIXENGINEStaticAssert) } # endif # if defined(ONIXS_FIXENGINE_COMPILER_CXX_ALIGNAS) && ONIXS_FIXENGINE_COMPILER_CXX_ALIGNAS # define ONIXS_FIXENGINE_ALIGNAS(X) alignas(X) # elif ONIXS_FIXENGINE_COMPILER_IS_GNU || ONIXS_FIXENGINE_COMPILER_IS_Clang || ONIXS_FIXENGINE_COMPILER_IS_AppleClang # define ONIXS_FIXENGINE_ALIGNAS(X) __attribute__ ((__aligned__(X))) # elif ONIXS_FIXENGINE_COMPILER_IS_MSVC # define ONIXS_FIXENGINE_ALIGNAS(X) __declspec(align(X)) # else # define ONIXS_FIXENGINE_ALIGNAS(X) # endif # if defined(ONIXS_FIXENGINE_COMPILER_CXX_THREAD_LOCAL) && ONIXS_FIXENGINE_COMPILER_CXX_THREAD_LOCAL # define ONIXS_FIXENGINE_THREAD_LOCAL thread_local # elif ONIXS_FIXENGINE_COMPILER_IS_GNU || ONIXS_FIXENGINE_COMPILER_IS_Clang || ONIXS_FIXENGINE_COMPILER_IS_AppleClang # define ONIXS_FIXENGINE_THREAD_LOCAL __thread # elif ONIXS_FIXENGINE_COMPILER_IS_MSVC # define ONIXS_FIXENGINE_THREAD_LOCAL __declspec(thread) # else // ONIXS_FIXENGINE_THREAD_LOCAL not defined for this configuration. # endif #endif #endif