diff options
Diffstat (limited to '3rdParty/Boost/src/boost/config/compiler/clang.hpp')
| -rw-r--r-- | 3rdParty/Boost/src/boost/config/compiler/clang.hpp | 99 | 
1 files changed, 75 insertions, 24 deletions
| diff --git a/3rdParty/Boost/src/boost/config/compiler/clang.hpp b/3rdParty/Boost/src/boost/config/compiler/clang.hpp index 0893033..aab3c61 100644 --- a/3rdParty/Boost/src/boost/config/compiler/clang.hpp +++ b/3rdParty/Boost/src/boost/config/compiler/clang.hpp @@ -8,15 +8,18 @@  // Clang compiler setup. -#if __has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS) -#else +#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)  #  define BOOST_NO_EXCEPTIONS  #endif -#if !__has_feature(cxx_rtti) +#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI)  #  define BOOST_NO_RTTI  #endif +#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID) +#  define BOOST_NO_TYPEID +#endif +  #if defined(__int64)  #  define BOOST_HAS_MS_INT64  #endif @@ -24,52 +27,100 @@  #define BOOST_HAS_NRVO  // Clang supports "long long" in all compilation modes. +#define BOOST_HAS_LONG_LONG + +#if !__has_feature(cxx_auto_type) +#  define BOOST_NO_CXX11_AUTO_DECLARATIONS +#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#endif -#define BOOST_NO_AUTO_DECLARATIONS -#define BOOST_NO_AUTO_MULTIDECLARATIONS -#define BOOST_NO_CHAR16_T -#define BOOST_NO_CHAR32_T -#define BOOST_NO_CONCEPTS -#define BOOST_NO_CONSTEXPR +#if !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L) +#  define BOOST_NO_CXX11_CHAR16_T +#  define BOOST_NO_CXX11_CHAR32_T +#endif + +#if !__has_feature(cxx_constexpr) +#  define BOOST_NO_CXX11_CONSTEXPR +#endif  #if !__has_feature(cxx_decltype) -#  define BOOST_NO_DECLTYPE +#  define BOOST_NO_CXX11_DECLTYPE  #endif -#define BOOST_NO_DEFAULTED_FUNCTIONS +#if !__has_feature(cxx_decltype_incomplete_return_types) +#  define BOOST_NO_CXX11_DECLTYPE_N3276 +#endif + +#if !__has_feature(cxx_defaulted_functions) +#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#endif  #if !__has_feature(cxx_deleted_functions) -#  define BOOST_NO_DELETED_FUNCTIONS +#  define BOOST_NO_CXX11_DELETED_FUNCTIONS  #endif -#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#if !__has_feature(cxx_explicit_conversions) +#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#endif  #if !__has_feature(cxx_default_function_template_args) -  #define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS +#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS  #endif -#define BOOST_NO_INITIALIZER_LISTS -#define BOOST_NO_LAMBDAS -#define BOOST_NO_NULLPTR -#define BOOST_NO_RAW_LITERALS +#if !__has_feature(cxx_generalized_initializers) +#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#endif + +#if !__has_feature(cxx_lambdas) +#  define BOOST_NO_CXX11_LAMBDAS +#endif + +#if !__has_feature(cxx_local_type_template_args) +#  define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#endif + +#if !__has_feature(cxx_noexcept) +#  define BOOST_NO_CXX11_NOEXCEPT +#endif + +#if !__has_feature(cxx_nullptr) +#  define BOOST_NO_CXX11_NULLPTR +#endif + +#if !__has_feature(cxx_range_for) +#  define BOOST_NO_CXX11_RANGE_BASED_FOR +#endif + +#if !__has_feature(cxx_raw_string_literals) +#  define BOOST_NO_CXX11_RAW_LITERALS +#endif + +#if !__has_feature(cxx_generalized_initializers) +#  define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#endif  #if !__has_feature(cxx_rvalue_references) -#  define BOOST_NO_RVALUE_REFERENCES +#  define BOOST_NO_CXX11_RVALUE_REFERENCES  #endif  #if !__has_feature(cxx_strong_enums) -#  define BOOST_NO_SCOPED_ENUMS +#  define BOOST_NO_CXX11_SCOPED_ENUMS  #endif  #if !__has_feature(cxx_static_assert) -#  define BOOST_NO_STATIC_ASSERT +#  define BOOST_NO_CXX11_STATIC_ASSERT  #endif -#define BOOST_NO_TEMPLATE_ALIASES -#define BOOST_NO_UNICODE_LITERALS +#if !__has_feature(cxx_alias_templates) +#  define BOOST_NO_CXX11_TEMPLATE_ALIASES +#endif + +#if !__has_feature(cxx_unicode_literals) +#  define BOOST_NO_CXX11_UNICODE_LITERALS +#endif  #if !__has_feature(cxx_variadic_templates) -#  define BOOST_NO_VARIADIC_TEMPLATES +#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES  #endif  // Clang always supports variadic macros | 
 Swift
 Swift