annotate DEPENDENCIES/generic/include/boost/config/compiler/digitalmars.hpp @ 133:4acb5d8d80b6 tip

Don't fail environmental check if README.md exists (but .txt and no-suffix don't)
author Chris Cannam
date Tue, 30 Jul 2019 12:25:44 +0100
parents c530137014c0
children
rev   line source
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