]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/config/compiler/digitalmars.hpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / boost / config / compiler / digitalmars.hpp
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_THREAD_LOCAL
87
88 // C++ 14:
89 #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
90 # define BOOST_NO_CXX14_AGGREGATE_NSDMI
91 #endif
92 #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
93 # define BOOST_NO_CXX14_BINARY_LITERALS
94 #endif
95 #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
96 # define BOOST_NO_CXX14_CONSTEXPR
97 #endif
98 #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
99 # define BOOST_NO_CXX14_DECLTYPE_AUTO
100 #endif
101 #if (__cplusplus < 201304) // There's no SD6 check for this....
102 # define BOOST_NO_CXX14_DIGIT_SEPARATORS
103 #endif
104 #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
105 # define BOOST_NO_CXX14_GENERIC_LAMBDAS
106 #endif
107 #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
108 # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
109 #endif
110 #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
111 # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
112 #endif
113 #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
114 # define BOOST_NO_CXX14_VARIABLE_TEMPLATES
115 #endif
116
117 // C++17
118 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
119 # define BOOST_NO_CXX17_STRUCTURED_BINDINGS
120 #endif
121 #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
122 # define BOOST_NO_CXX17_INLINE_VARIABLES
123 #endif
124 #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
125 # define BOOST_NO_CXX17_FOLD_EXPRESSIONS
126 #endif
127
128 #if (__DMC__ <= 0x840)
129 #error "Compiler not supported or configured - please reconfigure"
130 #endif
131 //
132 // last known and checked version is ...:
133 #if (__DMC__ > 0x848)
134 # if defined(BOOST_ASSERT_CONFIG)
135 # error "Unknown compiler version - please run the configure tests and report the results"
136 # endif
137 #endif