|
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 (__DMC__ <= 0x833) |
|
15 #define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL |
|
16 #define BOOST_NO_TEMPLATE_TEMPLATES |
|
17 #define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING |
|
18 #define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS |
|
19 #define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS |
|
20 #endif |
|
21 #if (__DMC__ <= 0x840) || !defined(BOOST_STRICT_CONFIG) |
|
22 #define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS |
|
23 #define BOOST_NO_MEMBER_TEMPLATE_FRIENDS |
|
24 #define BOOST_NO_OPERATORS_IN_NAMESPACE |
|
25 #define BOOST_NO_UNREACHABLE_RETURN_DETECTION |
|
26 #define BOOST_NO_SFINAE |
|
27 #define BOOST_NO_USING_TEMPLATE |
|
28 #define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL |
|
29 #define BOOST_NO_INITIALIZER_LISTS |
|
30 #endif |
|
31 |
|
32 // |
|
33 // has macros: |
|
34 #if (__DMC__ >= 0x840) |
|
35 #define BOOST_HAS_DIRENT_H |
|
36 #define BOOST_HAS_STDINT_H |
|
37 #define BOOST_HAS_WINTHREADS |
|
38 #endif |
|
39 |
|
40 #if (__DMC__ >= 0x847) |
|
41 #define BOOST_HAS_EXPM1 |
|
42 #define BOOST_HAS_LOG1P |
|
43 #endif |
|
44 |
|
45 // |
|
46 // Is this really the best way to detect whether the std lib is in namespace std? |
|
47 // |
|
48 #include <cstddef> |
|
49 #if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD) |
|
50 # define BOOST_NO_STDC_NAMESPACE |
|
51 #endif |
|
52 |
|
53 |
|
54 // check for exception handling support: |
|
55 #ifndef _CPPUNWIND |
|
56 # define BOOST_NO_EXCEPTIONS |
|
57 #endif |
|
58 |
|
59 // |
|
60 // C++0x features |
|
61 // |
|
62 #define BOOST_NO_CHAR16_T |
|
63 #define BOOST_NO_CHAR32_T |
|
64 #define BOOST_NO_CONSTEXPR |
|
65 #define BOOST_NO_DECLTYPE |
|
66 #define BOOST_NO_DEFAULTED_FUNCTIONS |
|
67 #define BOOST_NO_DELETED_FUNCTIONS |
|
68 #define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS |
|
69 #define BOOST_NO_EXTERN_TEMPLATE |
|
70 #define BOOST_NO_RAW_LITERALS |
|
71 #define BOOST_NO_RVALUE_REFERENCES |
|
72 #define BOOST_NO_SCOPED_ENUMS |
|
73 #define BOOST_NO_STATIC_ASSERT |
|
74 #define BOOST_NO_UNICODE_LITERALS |
|
75 #define BOOST_NO_VARIADIC_TEMPLATES |
|
76 #define BOOST_NO_AUTO_DECLARATIONS |
|
77 #define BOOST_NO_AUTO_MULTIDECLARATIONS |
|
78 #if __DMC__ < 0x800 |
|
79 #error "Compiler not supported or configured - please reconfigure" |
|
80 #endif |
|
81 // |
|
82 // last known and checked version is ...: |
|
83 #if (__DMC__ > 0x848) |
|
84 # if defined(BOOST_ASSERT_CONFIG) |
|
85 # error "Unknown compiler version - please run the configure tests and report the results" |
|
86 # endif |
|
87 #endif |