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_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 #endif
133