github.com/searKing/golang/go@v1.2.117/runtime/cgosymbolizer/include/boost/config/compiler/digitalmars.hpp (about) 1 // Copyright (C) Christof Meerwald 2003 2 // Copyright (C) Dan Watkins 2003 3 // 4 // Use, modification and distribution are subject to the 5 // Boost Software License, Version 1.0. (See accompanying file 6 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 7 8 // Digital Mars C++ compiler setup: 9 #define BOOST_COMPILER __DMC_VERSION_STRING__ 10 11 #define BOOST_HAS_LONG_LONG 12 #define BOOST_HAS_PRAGMA_ONCE 13 14 #if !defined(BOOST_STRICT_CONFIG) 15 #define BOOST_NO_MEMBER_TEMPLATE_FRIENDS 16 #define BOOST_NO_OPERATORS_IN_NAMESPACE 17 #define BOOST_NO_UNREACHABLE_RETURN_DETECTION 18 #define BOOST_NO_SFINAE 19 #define BOOST_NO_USING_TEMPLATE 20 #define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL 21 #endif 22 23 // 24 // has macros: 25 #define BOOST_HAS_DIRENT_H 26 #define BOOST_HAS_STDINT_H 27 #define BOOST_HAS_WINTHREADS 28 29 #if (__DMC__ >= 0x847) 30 #define BOOST_HAS_EXPM1 31 #define BOOST_HAS_LOG1P 32 #endif 33 34 // 35 // Is this really the best way to detect whether the std lib is in namespace std? 36 // 37 #ifdef __cplusplus 38 #include <cstddef> 39 #endif 40 #if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD) 41 # define BOOST_NO_STDC_NAMESPACE 42 #endif 43 44 45 // check for exception handling support: 46 #if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS) 47 # define BOOST_NO_EXCEPTIONS 48 #endif 49 50 // 51 // C++0x features 52 // 53 #define BOOST_NO_CXX11_AUTO_DECLARATIONS 54 #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS 55 #define BOOST_NO_CXX11_CHAR16_T 56 #define BOOST_NO_CXX11_CHAR32_T 57 #define BOOST_NO_CXX11_CONSTEXPR 58 #define BOOST_NO_CXX11_DECLTYPE 59 #define BOOST_NO_CXX11_DECLTYPE_N3276 60 #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS 61 #define BOOST_NO_CXX11_DELETED_FUNCTIONS 62 #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS 63 #define BOOST_NO_CXX11_EXTERN_TEMPLATE 64 #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST 65 #define BOOST_NO_CXX11_LAMBDAS 66 #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS 67 #define BOOST_NO_CXX11_NOEXCEPT 68 #define BOOST_NO_CXX11_NULLPTR 69 #define BOOST_NO_CXX11_RANGE_BASED_FOR 70 #define BOOST_NO_CXX11_RAW_LITERALS 71 #define BOOST_NO_CXX11_RVALUE_REFERENCES 72 #define BOOST_NO_CXX11_SCOPED_ENUMS 73 #define BOOST_NO_SFINAE_EXPR 74 #define BOOST_NO_CXX11_SFINAE_EXPR 75 #define BOOST_NO_CXX11_STATIC_ASSERT 76 #define BOOST_NO_CXX11_TEMPLATE_ALIASES 77 #define BOOST_NO_CXX11_UNICODE_LITERALS 78 #define BOOST_NO_CXX11_VARIADIC_TEMPLATES 79 #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX 80 #define BOOST_NO_CXX11_USER_DEFINED_LITERALS 81 #define BOOST_NO_CXX11_ALIGNAS 82 #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES 83 #define BOOST_NO_CXX11_INLINE_NAMESPACES 84 #define BOOST_NO_CXX11_REF_QUALIFIERS 85 #define BOOST_NO_CXX11_FINAL 86 #define BOOST_NO_CXX11_OVERRIDE 87 #define BOOST_NO_CXX11_THREAD_LOCAL 88 #define BOOST_NO_CXX11_UNRESTRICTED_UNION 89 90 // C++ 14: 91 #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) 92 # define BOOST_NO_CXX14_AGGREGATE_NSDMI 93 #endif 94 #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) 95 # define BOOST_NO_CXX14_BINARY_LITERALS 96 #endif 97 #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) 98 # define BOOST_NO_CXX14_CONSTEXPR 99 #endif 100 #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) 101 # define BOOST_NO_CXX14_DECLTYPE_AUTO 102 #endif 103 #if (__cplusplus < 201304) // There's no SD6 check for this.... 104 # define BOOST_NO_CXX14_DIGIT_SEPARATORS 105 #endif 106 #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) 107 # define BOOST_NO_CXX14_GENERIC_LAMBDAS 108 #endif 109 #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) 110 # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES 111 #endif 112 #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) 113 # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION 114 #endif 115 #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) 116 # define BOOST_NO_CXX14_VARIABLE_TEMPLATES 117 #endif 118 119 // C++17 120 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) 121 # define BOOST_NO_CXX17_STRUCTURED_BINDINGS 122 #endif 123 #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) 124 # define BOOST_NO_CXX17_INLINE_VARIABLES 125 #endif 126 #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) 127 # define BOOST_NO_CXX17_FOLD_EXPRESSIONS 128 #endif 129 #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) 130 # define BOOST_NO_CXX17_IF_CONSTEXPR 131 #endif 132 133 #if (__DMC__ <= 0x840) 134 #error "Compiler not supported or configured - please reconfigure" 135 #endif 136 // 137 // last known and checked version is ...: 138 #if (__DMC__ > 0x848) 139 # if defined(BOOST_ASSERT_CONFIG) 140 # error "boost: Unknown compiler version - please run the configure tests and report the results" 141 # endif 142 #endif