blob: bad1a45dbc202766a50a24401ba53f3029771989 [file] [log] [blame]
Jeff Thompsonf7d49942013-08-01 16:47:40 -07001// (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__)
Jeff Thompson2277ce52013-08-01 17:34:11 -070016#include "ndnboost/config/compiler/common_edg.hpp"
Jeff Thompsonf7d49942013-08-01 16:47:40 -070017#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_STATIC_ASSERT
118#define BOOST_NO_CXX11_TEMPLATE_ALIASES
119#define BOOST_NO_CXX11_UNICODE_LITERALS
120#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
121
122/*
123 See https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443331 and
124 https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443436
125*/
126
127#if (__HP_aCC < 62500) || !defined(HP_CXX0x_SOURCE)
128 #define BOOST_NO_CXX11_VARIADIC_MACROS
129#endif
130
131#endif
132
133//
134// last known and checked version for HP-UX/ia64 is 61300
135// last known and checked version for PA-RISC is 38000
136#if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98)))
137# if defined(BOOST_ASSERT_CONFIG)
138# error "Unknown compiler version - please run the configure tests and report the results"
139# endif
140#endif