/extlibs/Boost/include/boost/config/compiler/vacpp.hpp
C++ Header | 96 lines | 51 code | 14 blank | 31 comment | 2 complexity | 4bce436b4be22c570c4c94e152358aef MD5 | raw file
1// (C) Copyright John Maddock 2001 - 2003. 2// (C) Copyright Toon Knapen 2001 - 2003. 3// (C) Copyright Lie-Quan Lee 2001. 4// (C) Copyright Markus Schoepflin 2002 - 2003. 5// (C) Copyright Beman Dawes 2002 - 2003. 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// Visual Age (IBM) C++ compiler setup: 13 14#if __IBMCPP__ <= 501 15# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS 16# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS 17#endif 18 19#if (__IBMCPP__ <= 502) 20// Actually the compiler supports inclass member initialization but it 21// requires a definition for the class member and it doesn't recognize 22// it as an integral constant expression when used as a template argument. 23# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION 24# define BOOST_NO_INTEGRAL_INT64_T 25# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD 26#endif 27 28#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG) 29# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS 30# define BOOST_NO_INITIALIZER_LISTS 31#endif 32 33#if (__IBMCPP__ <= 1110) 34// XL C++ V11.1 and earlier versions may not always value-initialize 35// a temporary object T(), when T is a non-POD aggregate class type. 36// Michael Wong (IBM Canada Ltd) has confirmed this issue and gave it 37// high priority. -- Niels Dekker (LKEB), May 2010. 38# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION 39#endif 40 41// 42// On AIX thread support seems to be indicated by _THREAD_SAFE: 43// 44#ifdef _THREAD_SAFE 45# define BOOST_HAS_THREADS 46#endif 47 48#define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__) 49 50// 51// versions check: 52// we don't support Visual age prior to version 5: 53#if __IBMCPP__ < 500 54#error "Compiler not supported or configured - please reconfigure" 55#endif 56// 57// last known and checked version is 600: 58#if (__IBMCPP__ > 1010) 59# if defined(BOOST_ASSERT_CONFIG) 60# error "Unknown compiler version - please run the configure tests and report the results" 61# endif 62#endif 63 64// Some versions of the compiler have issues with default arguments on partial specializations 65#define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS 66 67// 68// C++0x features 69// 70// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG 71// 72#define BOOST_NO_AUTO_DECLARATIONS 73#define BOOST_NO_AUTO_MULTIDECLARATIONS 74#define BOOST_NO_CHAR16_T 75#define BOOST_NO_CHAR32_T 76#define BOOST_NO_CONCEPTS 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_EXTERN_TEMPLATE 83#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS 84#define BOOST_NO_LAMBDAS 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 95 96