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