533 lines
18 KiB
C++
533 lines
18 KiB
C++
|
|
// 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<bool> struct ONIXS_FIXENGINEStaticAssert;
|
|
template<> struct ONIXS_FIXENGINEStaticAssert<true>{};
|
|
# define ONIXS_FIXENGINE_STATIC_ASSERT(X) enum { ONIXS_FIXENGINE_STATIC_ASSERT_JOIN(ONIXS_FIXENGINEStaticAssertEnum, __LINE__) = sizeof(ONIXS_FIXENGINEStaticAssert<X>) }
|
|
# define ONIXS_FIXENGINE_STATIC_ASSERT_MSG(X, MSG) enum { ONIXS_FIXENGINE_STATIC_ASSERT_JOIN(ONIXS_FIXENGINEStaticAssertEnum, __LINE__) = sizeof(ONIXS_FIXENGINEStaticAssert<X>) }
|
|
# 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
|