1 //  (C) Copyright John Maddock 2001 - 2002.
2 //  (C) Copyright Aleksey Gurtovoy 2002.
3 //  Use, modification and distribution are subject to the
4 //  Boost Software License, Version 1.0. (See accompanying file
5 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 
7 //  See http://www.boost.org for most recent version.
8 
9 //  MPW C++ compilers setup:
10 
11 #   if    defined(__SC__)
12 #     define BOOST_COMPILER "MPW SCpp version " BOOST_STRINGIZE(__SC__)
13 #   elif defined(__MRC__)
14 #     define BOOST_COMPILER "MPW MrCpp version " BOOST_STRINGIZE(__MRC__)
15 #   else
16 #     error "Using MPW compiler configuration by mistake.  Please update."
17 #   endif
18 
19 //
20 // MPW 8.90:
21 //
22 #if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG)
23 #  define BOOST_NO_CV_SPECIALIZATIONS
24 #  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
25 #  define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
26 #  define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
27 #  define BOOST_NO_INTRINSIC_WCHAR_T
28 #  define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
29 #  define BOOST_NO_USING_TEMPLATE
30 
31 #  define BOOST_NO_CWCHAR
32 #  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
33 
34 #  define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */
35 
36 #endif
37 
38 //
39 // C++0x features
40 //
41 //   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
42 //
43 #define BOOST_NO_CXX11_AUTO_DECLARATIONS
44 #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
45 #define BOOST_NO_CXX11_CHAR16_T
46 #define BOOST_NO_CXX11_CHAR32_T
47 #define BOOST_NO_CXX11_CONSTEXPR
48 #define BOOST_NO_CXX11_DECLTYPE
49 #define BOOST_NO_CXX11_DECLTYPE_N3276
50 #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
51 #define BOOST_NO_CXX11_DELETED_FUNCTIONS
52 #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
53 #define BOOST_NO_CXX11_EXTERN_TEMPLATE
54 #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
55 #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
56 #define BOOST_NO_CXX11_LAMBDAS
57 #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
58 #define BOOST_NO_CXX11_NOEXCEPT
59 #define BOOST_NO_CXX11_NULLPTR
60 #define BOOST_NO_CXX11_RANGE_BASED_FOR
61 #define BOOST_NO_CXX11_RAW_LITERALS
62 #define BOOST_NO_CXX11_RVALUE_REFERENCES
63 #define BOOST_NO_CXX11_SCOPED_ENUMS
64 #define BOOST_NO_SFINAE_EXPR
65 #define BOOST_NO_CXX11_SFINAE_EXPR
66 #define BOOST_NO_CXX11_STATIC_ASSERT
67 #define BOOST_NO_CXX11_TEMPLATE_ALIASES
68 #define BOOST_NO_CXX11_UNICODE_LITERALS
69 #define BOOST_NO_CXX11_VARIADIC_TEMPLATES
70 #define BOOST_NO_CXX11_VARIADIC_MACROS
71 #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
72 #define BOOST_NO_CXX11_USER_DEFINED_LITERALS
73 #define BOOST_NO_CXX11_ALIGNAS
74 #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
75 #define BOOST_NO_CXX11_INLINE_NAMESPACES
76 #define BOOST_NO_CXX11_REF_QUALIFIERS
77 #define BOOST_NO_CXX11_FINAL
78 #define BOOST_NO_CXX11_OVERRIDE
79 #define BOOST_NO_CXX11_THREAD_LOCAL
80 #define BOOST_NO_CXX11_UNRESTRICTED_UNION
81 
82 // C++ 14:
83 #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
84 #  define BOOST_NO_CXX14_AGGREGATE_NSDMI
85 #endif
86 #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
87 #  define BOOST_NO_CXX14_BINARY_LITERALS
88 #endif
89 #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
90 #  define BOOST_NO_CXX14_CONSTEXPR
91 #endif
92 #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
93 #  define BOOST_NO_CXX14_DECLTYPE_AUTO
94 #endif
95 #if (__cplusplus < 201304) // There's no SD6 check for this....
96 #  define BOOST_NO_CXX14_DIGIT_SEPARATORS
97 #endif
98 #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
99 #  define BOOST_NO_CXX14_GENERIC_LAMBDAS
100 #endif
101 #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
102 #  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
103 #endif
104 #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
105 #  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
106 #endif
107 #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
108 #  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
109 #endif
110 
111 // C++17
112 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
113 #  define BOOST_NO_CXX17_STRUCTURED_BINDINGS
114 #endif
115 #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
116 #  define BOOST_NO_CXX17_INLINE_VARIABLES
117 #endif
118 #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
119 #  define BOOST_NO_CXX17_FOLD_EXPRESSIONS
120 #endif
121 #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
122 #  define BOOST_NO_CXX17_IF_CONSTEXPR
123 #endif
124 
125 //
126 // versions check:
127 // we don't support MPW prior to version 8.9:
128 #if MPW_CPLUS < 0x890
129 #  error "Compiler not supported or configured - please reconfigure"
130 #endif
131 //
132 // last known and checked version is 0x890:
133 #if (MPW_CPLUS > 0x890)
134 #  if defined(BOOST_ASSERT_CONFIG)
135 #     error "boost: Unknown compiler version - please run the configure tests and report the results"
136 #  endif
137 #endif
138 
139 
140