blob: 1318d275ade49fa9e6c3720759081173a5721432 [file] [log] [blame]
Brian Silverman9d8fa392018-08-04 17:09:24 -07001// (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_THREAD_LOCAL
92
93// C++ 14:
94#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
95# define BOOST_NO_CXX14_AGGREGATE_NSDMI
96#endif
97#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
98# define BOOST_NO_CXX14_BINARY_LITERALS
99#endif
100#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
101# define BOOST_NO_CXX14_CONSTEXPR
102#endif
103#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
104# define BOOST_NO_CXX14_DECLTYPE_AUTO
105#endif
106#if (__cplusplus < 201304) // There's no SD6 check for this....
107# define BOOST_NO_CXX14_DIGIT_SEPARATORS
108#endif
109#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
110# define BOOST_NO_CXX14_GENERIC_LAMBDAS
111#endif
112#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
113# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
114#endif
115#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
116# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
117#endif
118#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
119# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
120#endif
121
122// C++17
123#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
124# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
125#endif
126#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
127# define BOOST_NO_CXX17_INLINE_VARIABLES
128#endif
129#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
130# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
131#endif
132#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
133# define BOOST_NO_CXX17_IF_CONSTEXPR
134#endif
135#endif