]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/config/include/boost/config/compiler/digitalmars.hpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / config / include / 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_STATIC_ASSERT
75 #define BOOST_NO_CXX11_TEMPLATE_ALIASES
76 #define BOOST_NO_CXX11_UNICODE_LITERALS
77 #define BOOST_NO_CXX11_VARIADIC_TEMPLATES
78 #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
79 #define BOOST_NO_CXX11_USER_DEFINED_LITERALS
80 #define BOOST_NO_CXX11_ALIGNAS
81 #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
82 #define BOOST_NO_CXX11_INLINE_NAMESPACES
83 #define BOOST_NO_CXX11_REF_QUALIFIERS
84 #define BOOST_NO_CXX11_FINAL
85 #define BOOST_NO_CXX11_THREAD_LOCAL
86
87 // C++ 14:
88 #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
89 # define BOOST_NO_CXX14_AGGREGATE_NSDMI
90 #endif
91 #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
92 # define BOOST_NO_CXX14_BINARY_LITERALS
93 #endif
94 #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
95 # define BOOST_NO_CXX14_CONSTEXPR
96 #endif
97 #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
98 # define BOOST_NO_CXX14_DECLTYPE_AUTO
99 #endif
100 #if (__cplusplus < 201304) // There's no SD6 check for this....
101 # define BOOST_NO_CXX14_DIGIT_SEPARATORS
102 #endif
103 #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
104 # define BOOST_NO_CXX14_GENERIC_LAMBDAS
105 #endif
106 #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
107 # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
108 #endif
109 #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
110 # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
111 #endif
112 #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
113 # define BOOST_NO_CXX14_VARIABLE_TEMPLATES
114 #endif
115
116 #if (__DMC__ <= 0x840)
117 #error "Compiler not supported or configured - please reconfigure"
118 #endif
119 //
120 // last known and checked version is ...:
121 #if (__DMC__ > 0x848)
122 # if defined(BOOST_ASSERT_CONFIG)
123 # error "Unknown compiler version - please run the configure tests and report the results"
124 # endif
125 #endif