]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/boost/config/compiler/pathscale.hpp
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / boost / config / compiler / pathscale.hpp
CommitLineData
7c673cae
FG
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
b32b8144
FG
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
7c673cae
FG
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
b32b8144 45# define BOOST_NO_CXX11_SFINAE_EXPR
7c673cae
FG
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
20effc67 91# define BOOST_NO_CXX11_OVERRIDE
7c673cae 92# define BOOST_NO_CXX11_THREAD_LOCAL
f67539c2 93# define BOOST_NO_CXX11_UNRESTRICTED_UNION
7c673cae
FG
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
b32b8144
FG
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
92f5a8d4
TL
134#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
135# define BOOST_NO_CXX17_IF_CONSTEXPR
136#endif
7c673cae 137#endif