github.com/searKing/golang/go@v1.2.117/os/signal/cgo/include/boost/config/compiler/sunpro_cc.hpp (about) 1 // (C) Copyright John Maddock 2001. 2 // (C) Copyright Jens Maurer 2001 - 2003. 3 // (C) Copyright Peter Dimov 2002. 4 // (C) Copyright Aleksey Gurtovoy 2002 - 2003. 5 // (C) Copyright David Abrahams 2002. 6 // Use, modification and distribution are subject to the 7 // Boost Software License, Version 1.0. (See accompanying file 8 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 10 // See http://www.boost.org for most recent version. 11 12 // Sun C++ compiler setup: 13 14 # if __SUNPRO_CC <= 0x500 15 # define BOOST_NO_MEMBER_TEMPLATES 16 # define BOOST_NO_FUNCTION_TEMPLATE_ORDERING 17 # endif 18 19 # if (__SUNPRO_CC <= 0x520) 20 // 21 // Sunpro 5.2 and earler: 22 // 23 // although sunpro 5.2 supports the syntax for 24 // inline initialization it often gets the value 25 // wrong, especially where the value is computed 26 // from other constants (J Maddock 6th May 2001) 27 # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION 28 29 // Although sunpro 5.2 supports the syntax for 30 // partial specialization, it often seems to 31 // bind to the wrong specialization. Better 32 // to disable it until suppport becomes more stable 33 // (J Maddock 6th May 2001). 34 # define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION 35 # endif 36 37 # if (__SUNPRO_CC <= 0x530) 38 // Requesting debug info (-g) with Boost.Python results 39 // in an internal compiler error for "static const" 40 // initialized in-class. 41 // >> Assertion: (../links/dbg_cstabs.cc, line 611) 42 // while processing ../test.cpp at line 0. 43 // (Jens Maurer according to Gottfried Ganssauge 04 Mar 2002) 44 # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION 45 46 // SunPro 5.3 has better support for partial specialization, 47 // but breaks when compiling std::less<shared_ptr<T> > 48 // (Jens Maurer 4 Nov 2001). 49 50 // std::less specialization fixed as reported by George 51 // Heintzelman; partial specialization re-enabled 52 // (Peter Dimov 17 Jan 2002) 53 54 //# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION 55 56 // integral constant expressions with 64 bit numbers fail 57 # define BOOST_NO_INTEGRAL_INT64_T 58 # endif 59 60 # if (__SUNPRO_CC < 0x570) 61 # define BOOST_NO_TEMPLATE_TEMPLATES 62 // see http://lists.boost.org/MailArchives/boost/msg47184.php 63 // and http://lists.boost.org/MailArchives/boost/msg47220.php 64 # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION 65 # define BOOST_NO_SFINAE 66 # define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS 67 # endif 68 # if (__SUNPRO_CC <= 0x580) 69 # define BOOST_NO_IS_ABSTRACT 70 # endif 71 72 # if (__SUNPRO_CC <= 0x5100) 73 // Sun 5.10 may not correctly value-initialize objects of 74 // some user defined types, as was reported in April 2010 75 // (CR 6947016), and confirmed by Steve Clamage. 76 // (Niels Dekker, LKEB, May 2010). 77 # define BOOST_NO_COMPLETE_VALUE_INITIALIZATION 78 # endif 79 80 // 81 // Dynamic shared object (DSO) and dynamic-link library (DLL) support 82 // 83 #if __SUNPRO_CC > 0x500 84 # define BOOST_SYMBOL_EXPORT __global 85 # define BOOST_SYMBOL_IMPORT __global 86 # define BOOST_SYMBOL_VISIBLE __global 87 #endif 88 89 // Deprecated symbol markup 90 // Oracle Studio 12.4 supports deprecated attribute with a message; this is the first release that supports the attribute. 91 #if (__SUNPRO_CC >= 0x5130) 92 #define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg))) 93 #endif 94 95 #if (__SUNPRO_CC < 0x5130) 96 // C++03 features in 12.4: 97 #define BOOST_NO_TWO_PHASE_NAME_LOOKUP 98 #define BOOST_NO_SFINAE_EXPR 99 #define BOOST_NO_ADL_BARRIER 100 #define BOOST_NO_CXX11_VARIADIC_MACROS 101 #endif 102 103 #if (__SUNPRO_CC < 0x5130) || (__cplusplus < 201100) 104 // C++11 only featuires in 12.4: 105 #define BOOST_NO_CXX11_AUTO_DECLARATIONS 106 #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS 107 #define BOOST_NO_CXX11_CHAR16_T 108 #define BOOST_NO_CXX11_CHAR32_T 109 #define BOOST_NO_CXX11_CONSTEXPR 110 #define BOOST_NO_CXX11_DECLTYPE 111 #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS 112 #define BOOST_NO_CXX11_DELETED_FUNCTIONS 113 #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS 114 #define BOOST_NO_CXX11_EXTERN_TEMPLATE 115 #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS 116 #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST 117 #define BOOST_NO_CXX11_LAMBDAS 118 #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS 119 #define BOOST_NO_CXX11_NOEXCEPT 120 #define BOOST_NO_CXX11_NULLPTR 121 #define BOOST_NO_CXX11_RANGE_BASED_FOR 122 #define BOOST_NO_CXX11_RAW_LITERALS 123 #define BOOST_NO_CXX11_RVALUE_REFERENCES 124 #define BOOST_NO_CXX11_SCOPED_ENUMS 125 #define BOOST_NO_CXX11_STATIC_ASSERT 126 #define BOOST_NO_CXX11_TEMPLATE_ALIASES 127 #define BOOST_NO_CXX11_UNICODE_LITERALS 128 #define BOOST_NO_CXX11_ALIGNAS 129 #define BOOST_NO_CXX11_ALIGNOF 130 #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES 131 #define BOOST_NO_CXX11_INLINE_NAMESPACES 132 #define BOOST_NO_CXX11_FINAL 133 #define BOOST_NO_CXX11_OVERRIDE 134 #define BOOST_NO_CXX11_UNRESTRICTED_UNION 135 #endif 136 137 #if (__SUNPRO_CC < 0x5140) || (__cplusplus < 201103) 138 #define BOOST_NO_CXX11_VARIADIC_TEMPLATES 139 #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX 140 #define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS 141 #define BOOST_NO_CXX11_DECLTYPE_N3276 142 #define BOOST_NO_CXX11_USER_DEFINED_LITERALS 143 #define BOOST_NO_CXX11_REF_QUALIFIERS 144 #define BOOST_NO_CXX11_THREAD_LOCAL 145 #endif 146 147 #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION 148 // 149 // C++0x features 150 // 151 # define BOOST_HAS_LONG_LONG 152 153 #define BOOST_NO_CXX11_SFINAE_EXPR 154 155 // C++ 14: 156 #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) 157 # define BOOST_NO_CXX14_AGGREGATE_NSDMI 158 #endif 159 #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) 160 # define BOOST_NO_CXX14_BINARY_LITERALS 161 #endif 162 #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) 163 # define BOOST_NO_CXX14_CONSTEXPR 164 #endif 165 #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) || (__cplusplus < 201402L) 166 # define BOOST_NO_CXX14_DECLTYPE_AUTO 167 #endif 168 #if (__cplusplus < 201304) // There's no SD6 check for this.... 169 # define BOOST_NO_CXX14_DIGIT_SEPARATORS 170 #endif 171 #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) 172 # define BOOST_NO_CXX14_GENERIC_LAMBDAS 173 #endif 174 #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) 175 # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES 176 #endif 177 #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) 178 # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION 179 #endif 180 #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) 181 # define BOOST_NO_CXX14_VARIABLE_TEMPLATES 182 #endif 183 184 // C++17 185 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) 186 # define BOOST_NO_CXX17_STRUCTURED_BINDINGS 187 #endif 188 #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) 189 # define BOOST_NO_CXX17_INLINE_VARIABLES 190 #endif 191 #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) 192 # define BOOST_NO_CXX17_FOLD_EXPRESSIONS 193 #endif 194 #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) 195 # define BOOST_NO_CXX17_IF_CONSTEXPR 196 #endif 197 198 // Turn on threading support for Solaris 12. 199 // Ticket #11972 200 #if (__SUNPRO_CC >= 0x5140) && defined(__SunOS_5_12) && !defined(BOOST_HAS_THREADS) 201 # define BOOST_HAS_THREADS 202 #endif 203 204 // 205 // Version 206 // 207 208 #define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC) 209 210 // 211 // versions check: 212 // we don't support sunpro prior to version 4: 213 #if __SUNPRO_CC < 0x400 214 #error "Compiler not supported or configured - please reconfigure" 215 #endif 216 // 217 // last known and checked version: 218 #if (__SUNPRO_CC > 0x5150) 219 # if defined(BOOST_ASSERT_CONFIG) 220 # error "Boost.Config is older than your compiler - please check for an updated Boost release." 221 # endif 222 #endif