]> git.donarmstrong.com Git - rsem.git/blob - boost/config/compiler/digitalmars.hpp
bd37d2f1c215d60d8f97f6ae8601870f11ad5e13
[rsem.git] / 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 (__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 #endif
30
31 //
32 // has macros:
33 #if (__DMC__ >= 0x840)
34 #define BOOST_HAS_DIRENT_H
35 #define BOOST_HAS_STDINT_H
36 #define BOOST_HAS_WINTHREADS
37 #endif
38
39 #if (__DMC__ >= 0x847)
40 #define BOOST_HAS_EXPM1
41 #define BOOST_HAS_LOG1P
42 #endif
43
44 //
45 // Is this really the best way to detect whether the std lib is in namespace std?
46 //
47 #include <cstddef>
48 #if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD)
49 #  define BOOST_NO_STDC_NAMESPACE
50 #endif
51
52
53 // check for exception handling support:
54 #if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
55 #  define BOOST_NO_EXCEPTIONS
56 #endif
57
58 //
59 // C++0x features
60 //
61 #define BOOST_NO_AUTO_DECLARATIONS
62 #define BOOST_NO_AUTO_MULTIDECLARATIONS
63 #define BOOST_NO_CHAR16_T
64 #define BOOST_NO_CHAR32_T
65 #define BOOST_NO_CONCEPTS
66 #define BOOST_NO_CONSTEXPR
67 #define BOOST_NO_DECLTYPE
68 #define BOOST_NO_DEFAULTED_FUNCTIONS
69 #define BOOST_NO_DELETED_FUNCTIONS
70 #define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
71 #define BOOST_NO_EXTERN_TEMPLATE
72 #define BOOST_NO_INITIALIZER_LISTS
73 #define BOOST_NO_LAMBDAS
74 #define BOOST_NO_NULLPTR
75 #define BOOST_NO_RAW_LITERALS
76 #define BOOST_NO_RVALUE_REFERENCES
77 #define BOOST_NO_SCOPED_ENUMS
78 #define BOOST_NO_SFINAE_EXPR
79 #define BOOST_NO_STATIC_ASSERT
80 #define BOOST_NO_TEMPLATE_ALIASES
81 #define BOOST_NO_UNICODE_LITERALS
82 #define BOOST_NO_VARIADIC_TEMPLATES
83
84 #if __DMC__ < 0x800
85 #error "Compiler not supported or configured - please reconfigure"
86 #endif
87 //
88 // last known and checked version is ...:
89 #if (__DMC__ > 0x848)
90 #  if defined(BOOST_ASSERT_CONFIG)
91 #     error "Unknown compiler version - please run the configure tests and report the results"
92 #  endif
93 #endif