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_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
88 #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
89 # define BOOST_NO_CXX14_AGGREGATE_NSDMI
91 #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
92 # define BOOST_NO_CXX14_BINARY_LITERALS
94 #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
95 # define BOOST_NO_CXX14_CONSTEXPR
97 #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
98 # define BOOST_NO_CXX14_DECLTYPE_AUTO
100 #if (__cplusplus < 201304) // There's no SD6 check for this....
101 # define BOOST_NO_CXX14_DIGIT_SEPARATORS
103 #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
104 # define BOOST_NO_CXX14_GENERIC_LAMBDAS
106 #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
107 # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
109 #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
110 # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
112 #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
113 # define BOOST_NO_CXX14_VARIABLE_TEMPLATES
116 #if (__DMC__ <= 0x840)
117 #error "Compiler not supported or configured - please reconfigure"
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"