]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/config/compiler/pathscale.hpp
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / boost / config / compiler / pathscale.hpp
1 // (C) Copyright Bryce Lelbach 2011
2
3 // Use, modification and distribution are subject to the
4 // Boost Software License, Version 1.0. (See accompanying file
5 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
7 // See http://www.boost.org for most recent version.
8
9 // PathScale EKOPath C++ Compiler
10
11 #ifndef BOOST_COMPILER
12 # define BOOST_COMPILER "PathScale EKOPath C++ Compiler version " __PATHSCALE__
13 #endif
14
15 #if __PATHCC__ >= 6
16 // PathCC is based on clang, and supports the __has_*() builtins used
17 // to detect features in clang.hpp. Since the clang toolset is much
18 // better maintained, it is more convenient to reuse its definitions.
19 # include "boost/config/compiler/clang.hpp"
20 #elif __PATHCC__ >= 4
21 # define BOOST_MSVC6_MEMBER_TEMPLATES
22 # define BOOST_HAS_UNISTD_H
23 # define BOOST_HAS_STDINT_H
24 # define BOOST_HAS_SIGACTION
25 # define BOOST_HAS_SCHED_YIELD
26 # define BOOST_HAS_THREADS
27 # define BOOST_HAS_PTHREADS
28 # define BOOST_HAS_PTHREAD_YIELD
29 # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
30 # define BOOST_HAS_PARTIAL_STD_ALLOCATOR
31 # define BOOST_HAS_NRVO
32 # define BOOST_HAS_NL_TYPES_H
33 # define BOOST_HAS_NANOSLEEP
34 # define BOOST_HAS_LONG_LONG
35 # define BOOST_HAS_LOG1P
36 # define BOOST_HAS_GETTIMEOFDAY
37 # define BOOST_HAS_EXPM1
38 # define BOOST_HAS_DIRENT_H
39 # define BOOST_HAS_CLOCK_GETTIME
40 # define BOOST_NO_CXX11_VARIADIC_TEMPLATES
41 # define BOOST_NO_CXX11_UNICODE_LITERALS
42 # define BOOST_NO_CXX11_TEMPLATE_ALIASES
43 # define BOOST_NO_CXX11_STATIC_ASSERT
44 # define BOOST_NO_SFINAE_EXPR
45 # define BOOST_NO_CXX11_SFINAE_EXPR
46 # define BOOST_NO_CXX11_SCOPED_ENUMS
47 # define BOOST_NO_CXX11_RVALUE_REFERENCES
48 # define BOOST_NO_CXX11_RANGE_BASED_FOR
49 # define BOOST_NO_CXX11_RAW_LITERALS
50 # define BOOST_NO_CXX11_NULLPTR
51 # define BOOST_NO_CXX11_NUMERIC_LIMITS
52 # define BOOST_NO_CXX11_NOEXCEPT
53 # define BOOST_NO_CXX11_LAMBDAS
54 # define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
55 # define BOOST_NO_MS_INT64_NUMERIC_LIMITS
56 # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
57 # define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
58 # define BOOST_NO_CXX11_DELETED_FUNCTIONS
59 # define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
60 # define BOOST_NO_CXX11_DECLTYPE
61 # define BOOST_NO_CXX11_DECLTYPE_N3276
62 # define BOOST_NO_CXX11_CONSTEXPR
63 # define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
64 # define BOOST_NO_CXX11_CHAR32_T
65 # define BOOST_NO_CXX11_CHAR16_T
66 # define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
67 # define BOOST_NO_CXX11_AUTO_DECLARATIONS
68 # define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
69 # define BOOST_NO_CXX11_HDR_UNORDERED_SET
70 # define BOOST_NO_CXX11_HDR_UNORDERED_MAP
71 # define BOOST_NO_CXX11_HDR_TYPEINDEX
72 # define BOOST_NO_CXX11_HDR_TUPLE
73 # define BOOST_NO_CXX11_HDR_THREAD
74 # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
75 # define BOOST_NO_CXX11_HDR_REGEX
76 # define BOOST_NO_CXX11_HDR_RATIO
77 # define BOOST_NO_CXX11_HDR_RANDOM
78 # define BOOST_NO_CXX11_HDR_MUTEX
79 # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
80 # define BOOST_NO_CXX11_HDR_FUTURE
81 # define BOOST_NO_CXX11_HDR_FORWARD_LIST
82 # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
83 # define BOOST_NO_CXX11_HDR_CODECVT
84 # define BOOST_NO_CXX11_HDR_CHRONO
85 # define BOOST_NO_CXX11_USER_DEFINED_LITERALS
86 # define BOOST_NO_CXX11_ALIGNAS
87 # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
88 # define BOOST_NO_CXX11_INLINE_NAMESPACES
89 # define BOOST_NO_CXX11_REF_QUALIFIERS
90 # define BOOST_NO_CXX11_FINAL
91 # define BOOST_NO_CXX11_OVERRIDE
92 # define BOOST_NO_CXX11_THREAD_LOCAL
93 # define BOOST_NO_CXX11_UNRESTRICTED_UNION
94
95 // C++ 14:
96 #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
97 # define BOOST_NO_CXX14_AGGREGATE_NSDMI
98 #endif
99 #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
100 # define BOOST_NO_CXX14_BINARY_LITERALS
101 #endif
102 #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
103 # define BOOST_NO_CXX14_CONSTEXPR
104 #endif
105 #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
106 # define BOOST_NO_CXX14_DECLTYPE_AUTO
107 #endif
108 #if (__cplusplus < 201304) // There's no SD6 check for this....
109 # define BOOST_NO_CXX14_DIGIT_SEPARATORS
110 #endif
111 #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
112 # define BOOST_NO_CXX14_GENERIC_LAMBDAS
113 #endif
114 #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
115 # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
116 #endif
117 #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
118 # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
119 #endif
120 #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
121 # define BOOST_NO_CXX14_VARIABLE_TEMPLATES
122 #endif
123
124 // C++17
125 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
126 # define BOOST_NO_CXX17_STRUCTURED_BINDINGS
127 #endif
128 #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
129 # define BOOST_NO_CXX17_INLINE_VARIABLES
130 #endif
131 #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
132 # define BOOST_NO_CXX17_FOLD_EXPRESSIONS
133 #endif
134 #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
135 # define BOOST_NO_CXX17_IF_CONSTEXPR
136 #endif
137 #endif