]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/config/compiler/hp_acc.hpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / boost / config / compiler / hp_acc.hpp
1 // (C) Copyright John Maddock 2001 - 2003.
2 // (C) Copyright Jens Maurer 2001 - 2003.
3 // (C) Copyright Aleksey Gurtovoy 2002.
4 // (C) Copyright David Abrahams 2002 - 2003.
5 // (C) Copyright Toon Knapen 2003.
6 // (C) Copyright Boris Gubenko 2006 - 2007.
7 // Use, modification and distribution are subject to the
8 // Boost Software License, Version 1.0. (See accompanying file
9 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
10
11 // See http://www.boost.org for most recent version.
12
13 // HP aCC C++ compiler setup:
14
15 #if defined(__EDG__)
16 #include <boost/config/compiler/common_edg.hpp>
17 #endif
18
19 #if (__HP_aCC <= 33100)
20 # define BOOST_NO_INTEGRAL_INT64_T
21 # define BOOST_NO_OPERATORS_IN_NAMESPACE
22 # if !defined(_NAMESPACE_STD)
23 # define BOOST_NO_STD_LOCALE
24 # define BOOST_NO_STRINGSTREAM
25 # endif
26 #endif
27
28 #if (__HP_aCC <= 33300)
29 // member templates are sufficiently broken that we disable them for now
30 # define BOOST_NO_MEMBER_TEMPLATES
31 # define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
32 # define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
33 #endif
34
35 #if (__HP_aCC <= 38000)
36 # define BOOST_NO_TWO_PHASE_NAME_LOOKUP
37 #endif
38
39 #if (__HP_aCC > 50000) && (__HP_aCC < 60000)
40 # define BOOST_NO_UNREACHABLE_RETURN_DETECTION
41 # define BOOST_NO_TEMPLATE_TEMPLATES
42 # define BOOST_NO_SWPRINTF
43 # define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
44 # define BOOST_NO_IS_ABSTRACT
45 # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
46 #endif
47
48 // optional features rather than defects:
49 #if (__HP_aCC >= 33900)
50 # define BOOST_HAS_LONG_LONG
51 # define BOOST_HAS_PARTIAL_STD_ALLOCATOR
52 #endif
53
54 #if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 )
55 # define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
56 #endif
57
58 // This macro should not be defined when compiling in strict ansi
59 // mode, but, currently, we don't have the ability to determine
60 // what standard mode we are compiling with. Some future version
61 // of aCC6 compiler will provide predefined macros reflecting the
62 // compilation options, including the standard mode.
63 #if (__HP_aCC >= 60000) || ((__HP_aCC > 38000) && defined(__hpxstd98))
64 # define BOOST_NO_TWO_PHASE_NAME_LOOKUP
65 #endif
66
67 #define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC)
68
69 //
70 // versions check:
71 // we don't support HP aCC prior to version 33000:
72 #if __HP_aCC < 33000
73 # error "Compiler not supported or configured - please reconfigure"
74 #endif
75
76 //
77 // Extended checks for supporting aCC on PA-RISC
78 #if __HP_aCC > 30000 && __HP_aCC < 50000
79 # if __HP_aCC < 38000
80 // versions prior to version A.03.80 not supported
81 # error "Compiler version not supported - version A.03.80 or higher is required"
82 # elif !defined(__hpxstd98)
83 // must compile using the option +hpxstd98 with version A.03.80 and above
84 # error "Compiler option '+hpxstd98' is required for proper support"
85 # endif //PA-RISC
86 #endif
87
88 //
89 // C++0x features
90 //
91 // See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
92 //
93 #if !defined(__EDG__)
94
95 #define BOOST_NO_CXX11_AUTO_DECLARATIONS
96 #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
97 #define BOOST_NO_CXX11_CHAR16_T
98 #define BOOST_NO_CXX11_CHAR32_T
99 #define BOOST_NO_CXX11_CONSTEXPR
100 #define BOOST_NO_CXX11_DECLTYPE
101 #define BOOST_NO_CXX11_DECLTYPE_N3276
102 #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
103 #define BOOST_NO_CXX11_DELETED_FUNCTIONS
104 #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
105 #define BOOST_NO_CXX11_EXTERN_TEMPLATE
106 #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
107 #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
108 #define BOOST_NO_CXX11_LAMBDAS
109 #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
110 #define BOOST_NO_CXX11_NOEXCEPT
111 #define BOOST_NO_CXX11_NULLPTR
112 #define BOOST_NO_CXX11_RANGE_BASED_FOR
113 #define BOOST_NO_CXX11_RAW_LITERALS
114 #define BOOST_NO_CXX11_RVALUE_REFERENCES
115 #define BOOST_NO_CXX11_SCOPED_ENUMS
116 #define BOOST_NO_SFINAE_EXPR
117 #define BOOST_NO_CXX11_SFINAE_EXPR
118 #define BOOST_NO_CXX11_STATIC_ASSERT
119 #define BOOST_NO_CXX11_TEMPLATE_ALIASES
120 #define BOOST_NO_CXX11_UNICODE_LITERALS
121 #define BOOST_NO_CXX11_VARIADIC_TEMPLATES
122 #define BOOST_NO_CXX11_USER_DEFINED_LITERALS
123 #define BOOST_NO_CXX11_ALIGNAS
124 #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
125 #define BOOST_NO_CXX11_INLINE_NAMESPACES
126 #define BOOST_NO_CXX11_REF_QUALIFIERS
127 #define BOOST_NO_CXX11_THREAD_LOCAL
128
129 /*
130 See https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443331 and
131 https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443436
132 */
133
134 #if (__HP_aCC < 62500) || !defined(HP_CXX0x_SOURCE)
135 #define BOOST_NO_CXX11_VARIADIC_MACROS
136 #endif
137
138 #endif
139
140 //
141 // last known and checked version for HP-UX/ia64 is 61300
142 // last known and checked version for PA-RISC is 38000
143 #if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98)))
144 # if defined(BOOST_ASSERT_CONFIG)
145 # error "boost: Unknown compiler version - please run the configure tests and report the results"
146 # endif
147 #endif