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) 9 10 // See http://www.boost.org for most recent version. 11 12 // 13 // Options common to all edg based compilers. 14 // 15 // This is included from within the individual compiler mini-configs. 16 17 #ifndef __EDG_VERSION__ 18 # error This file requires that __EDG_VERSION__ be defined. 19 #endif 20 21 #if (__EDG_VERSION__ <= 238) 22 # define BOOST_NO_INTEGRAL_INT64_T 23 # define BOOST_NO_SFINAE 24 #endif 25 26 #if (__EDG_VERSION__ <= 240) 27 # define BOOST_NO_VOID_RETURNS 28 #endif 29 30 #if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) 31 # define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP 32 #endif 33 34 #if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES) 35 # define BOOST_NO_TEMPLATE_TEMPLATES 36 #endif 37 38 #if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT) 39 # define BOOST_NO_IS_ABSTRACT 40 #endif 41 42 #if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) 43 # define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL 44 #endif 45 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 49 # endif 50 51 # if !defined(__NO_LONG_LONG) 52 # define BOOST_HAS_LONG_LONG 53 # else 54 # define BOOST_NO_LONG_LONG 55 # endif 56 57 // 58 // C++0x features 59 // 60 // See above for BOOST_NO_LONG_LONG 61 // 62 #if (__EDG_VERSION__ < 310) 63 # define BOOST_NO_EXTERN_TEMPLATE 64 #endif 65 #if (__EDG_VERSION__ <= 310) 66 // No support for initializer lists 67 # define BOOST_NO_INITIALIZER_LISTS 68 #endif 69 #if (__EDG_VERSION__ < 400) 70 # define BOOST_NO_VARIADIC_MACROS 71 #endif 72 73 #define BOOST_NO_AUTO_DECLARATIONS 74 #define BOOST_NO_AUTO_MULTIDECLARATIONS 75 #define BOOST_NO_CHAR16_T 76 #define BOOST_NO_CHAR32_T 77 #define BOOST_NO_CONSTEXPR 78 #define BOOST_NO_DECLTYPE 79 #define BOOST_NO_DEFAULTED_FUNCTIONS 80 #define BOOST_NO_DELETED_FUNCTIONS 81 #define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS 82 #define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS 83 #define BOOST_NO_LAMBDAS 84 #define BOOST_NO_NOEXCEPT 85 #define BOOST_NO_NULLPTR 86 #define BOOST_NO_RAW_LITERALS 87 #define BOOST_NO_RVALUE_REFERENCES 88 #define BOOST_NO_SCOPED_ENUMS 89 #define BOOST_NO_SFINAE_EXPR 90 #define BOOST_NO_STATIC_ASSERT 91 #define BOOST_NO_TEMPLATE_ALIASES 92 #define BOOST_NO_UNICODE_LITERALS 93 #define BOOST_NO_VARIADIC_TEMPLATES 94 #define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX 95 96 #ifdef c_plusplus 97 // EDG has "long long" in non-strict mode 98 // However, some libraries have insufficient "long long" support 99 // #define BOOST_HAS_LONG_LONG 100 #endif 101