github.com/searKing/golang/go@v1.2.117/os/signal/cgo/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_ALIGNOF 83 #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES 84 #define BOOST_NO_CXX11_INLINE_NAMESPACES 85 #define BOOST_NO_CXX11_REF_QUALIFIERS 86 #define BOOST_NO_CXX11_FINAL 87 #define BOOST_NO_CXX11_OVERRIDE 88 #define BOOST_NO_CXX11_THREAD_LOCAL 89 #define BOOST_NO_CXX11_UNRESTRICTED_UNION 90 91 // C++ 14: 92 #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) 93 # define BOOST_NO_CXX14_AGGREGATE_NSDMI 94 #endif 95 #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) 96 # define BOOST_NO_CXX14_BINARY_LITERALS 97 #endif 98 #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) 99 # define BOOST_NO_CXX14_CONSTEXPR 100 #endif 101 #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) 102 # define BOOST_NO_CXX14_DECLTYPE_AUTO 103 #endif 104 #if (__cplusplus < 201304) // There's no SD6 check for this.... 105 # define BOOST_NO_CXX14_DIGIT_SEPARATORS 106 #endif 107 #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) 108 # define BOOST_NO_CXX14_GENERIC_LAMBDAS 109 #endif 110 #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) 111 # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES 112 #endif 113 #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) 114 # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION 115 #endif 116 #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) 117 # define BOOST_NO_CXX14_VARIABLE_TEMPLATES 118 #endif 119 120 // C++17 121 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) 122 # define BOOST_NO_CXX17_STRUCTURED_BINDINGS 123 #endif 124 #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) 125 # define BOOST_NO_CXX17_INLINE_VARIABLES 126 #endif 127 #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) 128 # define BOOST_NO_CXX17_FOLD_EXPRESSIONS 129 #endif 130 #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) 131 # define BOOST_NO_CXX17_IF_CONSTEXPR 132 #endif 133 134 #if (__DMC__ <= 0x840) 135 #error "Compiler not supported or configured - please reconfigure" 136 #endif 137 // 138 // last known and checked version is ...: 139 #if (__DMC__ > 0x848) 140 # if defined(BOOST_ASSERT_CONFIG) 141 # error "boost: Unknown compiler version - please run the configure tests and report the results" 142 # endif 143 #endif