1 // Copyright (C) Christof Meerwald 2003
2 // Copyright (C) Dan Watkins 2003
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)
8 // Digital Mars C++ compiler setup:
9 #define BOOST_COMPILER __DMC_VERSION_STRING__
11 #define BOOST_HAS_LONG_LONG
12 #define BOOST_HAS_PRAGMA_ONCE
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
25 #define BOOST_HAS_DIRENT_H
26 #define BOOST_HAS_STDINT_H
27 #define BOOST_HAS_WINTHREADS
29 #if (__DMC__ >= 0x847)
30 #define BOOST_HAS_EXPM1
31 #define BOOST_HAS_LOG1P
35 // Is this really the best way to detect whether the std lib is in namespace std?
40 #if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD)
41 # define BOOST_NO_STDC_NAMESPACE
45 // check for exception handling support:
46 #if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
47 # define BOOST_NO_EXCEPTIONS
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
91 #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
92 # define BOOST_NO_CXX14_AGGREGATE_NSDMI
94 #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
95 # define BOOST_NO_CXX14_BINARY_LITERALS
97 #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
98 # define BOOST_NO_CXX14_CONSTEXPR
100 #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
101 # define BOOST_NO_CXX14_DECLTYPE_AUTO
103 #if (__cplusplus < 201304) // There's no SD6 check for this....
104 # define BOOST_NO_CXX14_DIGIT_SEPARATORS
106 #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
107 # define BOOST_NO_CXX14_GENERIC_LAMBDAS
109 #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
110 # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
112 #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
113 # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
115 #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
116 # define BOOST_NO_CXX14_VARIABLE_TEMPLATES
120 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
121 # define BOOST_NO_CXX17_STRUCTURED_BINDINGS
123 #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
124 # define BOOST_NO_CXX17_INLINE_VARIABLES
126 #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
127 # define BOOST_NO_CXX17_FOLD_EXPRESSIONS
129 #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
130 # define BOOST_NO_CXX17_IF_CONSTEXPR
133 #if (__DMC__ <= 0x840)
134 #error "Compiler not supported or configured - please reconfigure"
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"