]> git.lyx.org Git - features.git/blob - boost/boost/config/compiler/vacpp.hpp
01956d3a7026142a68581747587bbc851595482b
[features.git] / boost / boost / config / compiler / vacpp.hpp
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 //
34 // On AIX thread support seems to be indicated by _THREAD_SAFE:
35 //
36 #ifdef _THREAD_SAFE
37 #  define BOOST_HAS_THREADS
38 #endif
39
40 #define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__)
41
42 //
43 // versions check:
44 // we don't support Visual age prior to version 5:
45 #if __IBMCPP__ < 500
46 #error "Compiler not supported or configured - please reconfigure"
47 #endif
48 //
49 // last known and checked version is 600:
50 #if (__IBMCPP__ > 1010)
51 #  if defined(BOOST_ASSERT_CONFIG)
52 #     error "Unknown compiler version - please run the configure tests and report the results"
53 #  endif
54 #endif
55
56 // Some versions of the compiler have issues with default arguments on partial specializations
57 #define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
58
59 //
60 // C++0x features
61 //
62 //   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
63 //
64 #define BOOST_NO_AUTO_DECLARATIONS
65 #define BOOST_NO_AUTO_MULTIDECLARATIONS
66 #define BOOST_NO_CHAR16_T
67 #define BOOST_NO_CHAR32_T
68 #define BOOST_NO_CONCEPTS
69 #define BOOST_NO_CONSTEXPR
70 #define BOOST_NO_DECLTYPE
71 #define BOOST_NO_DEFAULTED_FUNCTIONS
72 #define BOOST_NO_DELETED_FUNCTIONS
73 #define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
74 #define BOOST_NO_EXTERN_TEMPLATE
75 #define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
76 #define BOOST_NO_LAMBDAS
77 #define BOOST_NO_NULLPTR
78 #define BOOST_NO_RAW_LITERALS
79 #define BOOST_NO_RVALUE_REFERENCES
80 #define BOOST_NO_SCOPED_ENUMS
81 #define BOOST_NO_SFINAE_EXPR
82 #define BOOST_NO_STATIC_ASSERT
83 #define BOOST_NO_TEMPLATE_ALIASES
84 #define BOOST_NO_UNICODE_LITERALS
85 #define BOOST_NO_VARIADIC_TEMPLATES
86
87
88