1 // (C) Copyright John Maddock 2001 - 2002.
2 // (C) Copyright Jens Maurer 2001.
3 // (C) Copyright David Abrahams 2002.
4 // (C) Copyright Aleksey Gurtovoy 2002.
5 // (C) Copyright Markus Schoepflin 2005.
6 // Use, modification and distribution are subject to the
7 // Boost Software License, Version 1.0. (See accompanying file
8 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
10 // See http://www.boost.org for most recent version.
13 // Options common to all edg based compilers.
15 // This is included from within the individual compiler mini-configs.
17 #ifndef __EDG_VERSION__
18 # error This file requires that __EDG_VERSION__ be defined.
21 #if (__EDG_VERSION__ <= 238)
22 # define BOOST_NO_INTEGRAL_INT64_T
23 # define BOOST_NO_SFINAE
26 #if (__EDG_VERSION__ <= 240)
27 # define BOOST_NO_VOID_RETURNS
30 #if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)
31 # define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
34 #if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES)
35 # define BOOST_NO_TEMPLATE_TEMPLATES
38 #if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT)
39 # define BOOST_NO_IS_ABSTRACT
42 #if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
43 # define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
46 // See also kai.hpp which checks a Kai-specific symbol for EH
47 # if !defined(__KCC) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
48 # define BOOST_NO_EXCEPTIONS
51 # if !defined(__NO_LONG_LONG)
52 # define BOOST_HAS_LONG_LONG
54 # define BOOST_NO_LONG_LONG
60 // See above for BOOST_NO_LONG_LONG
62 #if (__EDG_VERSION__ < 310)
63 # define BOOST_NO_EXTERN_TEMPLATE
65 #if (__EDG_VERSION__ <= 310) || !defined(BOOST_STRICT_CONFIG)
66 // No support for initializer lists
67 # define BOOST_NO_INITIALIZER_LISTS
70 #define BOOST_NO_AUTO_DECLARATIONS
71 #define BOOST_NO_AUTO_MULTIDECLARATIONS
72 #define BOOST_NO_CHAR16_T
73 #define BOOST_NO_CHAR32_T
74 #define BOOST_NO_CONCEPTS
75 #define BOOST_NO_CONSTEXPR
76 #define BOOST_NO_DECLTYPE
77 #define BOOST_NO_DEFAULTED_FUNCTIONS
78 #define BOOST_NO_DELETED_FUNCTIONS
79 #define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
80 #define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
81 #define BOOST_NO_LAMBDAS
82 #define BOOST_NO_NULLPTR
83 #define BOOST_NO_RAW_LITERALS
84 #define BOOST_NO_RVALUE_REFERENCES
85 #define BOOST_NO_SCOPED_ENUMS
86 #define BOOST_NO_SFINAE_EXPR
87 #define BOOST_NO_STATIC_ASSERT
88 #define BOOST_NO_TEMPLATE_ALIASES
89 #define BOOST_NO_UNICODE_LITERALS
90 #define BOOST_NO_VARIADIC_TEMPLATES
93 // EDG has "long long" in non-strict mode
94 // However, some libraries have insufficient "long long" support
95 // #define BOOST_HAS_LONG_LONG