github.com/searKing/golang/go@v1.2.117/os/signal/cgo/include/boost/config/compiler/vacpp.hpp (about) 1 // (C) Copyright John Maddock 2001 - 2003. 2 // (C) Copyright Toon Knapen 2001 - 2003. 3 // (C) Copyright Lie-Quan Lee 2001. 4 // (C) Copyright Markus Schoepflin 2002 - 2003. 5 // (C) Copyright Beman Dawes 2002 - 2003. 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 // Visual Age (IBM) C++ compiler setup: 13 14 #if __IBMCPP__ <= 501 15 # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS 16 # define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS 17 #endif 18 19 #if (__IBMCPP__ <= 502) 20 // Actually the compiler supports inclass member initialization but it 21 // requires a definition for the class member and it doesn't recognize 22 // it as an integral constant expression when used as a template argument. 23 # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION 24 # define BOOST_NO_INTEGRAL_INT64_T 25 # define BOOST_NO_MEMBER_TEMPLATE_KEYWORD 26 #endif 27 28 #if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG) 29 # define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS 30 #endif 31 32 #if (__IBMCPP__ <= 1110) 33 // XL C++ V11.1 and earlier versions may not always value-initialize 34 // a temporary object T(), when T is a non-POD aggregate class type. 35 // Michael Wong (IBM Canada Ltd) has confirmed this issue and gave it 36 // high priority. -- Niels Dekker (LKEB), May 2010. 37 # define BOOST_NO_COMPLETE_VALUE_INITIALIZATION 38 #endif 39 40 // 41 // On AIX thread support seems to be indicated by _THREAD_SAFE: 42 // 43 #ifdef _THREAD_SAFE 44 # define BOOST_HAS_THREADS 45 #endif 46 47 #define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__) 48 49 // 50 // versions check: 51 // we don't support Visual age prior to version 5: 52 #if __IBMCPP__ < 500 53 #error "Compiler not supported or configured - please reconfigure" 54 #endif 55 // 56 // last known and checked version is 1210: 57 #if (__IBMCPP__ > 1210) 58 # if defined(BOOST_ASSERT_CONFIG) 59 # error "boost: Unknown compiler version - please run the configure tests and report the results" 60 # endif 61 #endif 62 63 // Some versions of the compiler have issues with default arguments on partial specializations 64 #if __IBMCPP__ <= 1010 65 #define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS 66 #endif 67 68 // Type aliasing hint. Supported since XL C++ 13.1 69 #if (__IBMCPP__ >= 1310) 70 # define BOOST_MAY_ALIAS __attribute__((__may_alias__)) 71 #endif 72 73 // 74 // C++0x features 75 // 76 // See boost\config\suffix.hpp for BOOST_NO_LONG_LONG 77 // 78 #if ! __IBMCPP_AUTO_TYPEDEDUCTION 79 # define BOOST_NO_CXX11_AUTO_DECLARATIONS 80 # define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS 81 #endif 82 #if ! __IBMCPP_UTF_LITERAL__ 83 # define BOOST_NO_CXX11_CHAR16_T 84 # define BOOST_NO_CXX11_CHAR32_T 85 #endif 86 #if ! __IBMCPP_CONSTEXPR 87 # define BOOST_NO_CXX11_CONSTEXPR 88 #endif 89 #if ! __IBMCPP_DECLTYPE 90 # define BOOST_NO_CXX11_DECLTYPE 91 #else 92 # define BOOST_HAS_DECLTYPE 93 #endif 94 #define BOOST_NO_CXX11_DECLTYPE_N3276 95 #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS 96 #define BOOST_NO_CXX11_DELETED_FUNCTIONS 97 #if ! __IBMCPP_EXPLICIT_CONVERSION_OPERATORS 98 # define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS 99 #endif 100 #if ! __IBMCPP_EXTERN_TEMPLATE 101 # define BOOST_NO_CXX11_EXTERN_TEMPLATE 102 #endif 103 #if ! __IBMCPP_VARIADIC_TEMPLATES 104 // not enabled separately at this time 105 # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS 106 #endif 107 #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST 108 #define BOOST_NO_CXX11_LAMBDAS 109 #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS 110 #define BOOST_NO_CXX11_NOEXCEPT 111 #define BOOST_NO_CXX11_NULLPTR 112 #define BOOST_NO_CXX11_RANGE_BASED_FOR 113 #define BOOST_NO_CXX11_RAW_LITERALS 114 #define BOOST_NO_CXX11_USER_DEFINED_LITERALS 115 #if ! __IBMCPP_RVALUE_REFERENCES 116 # define BOOST_NO_CXX11_RVALUE_REFERENCES 117 #endif 118 #if ! __IBMCPP_SCOPED_ENUM 119 # define BOOST_NO_CXX11_SCOPED_ENUMS 120 #endif 121 #define BOOST_NO_SFINAE_EXPR 122 #define BOOST_NO_CXX11_SFINAE_EXPR 123 #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX 124 #if ! __IBMCPP_STATIC_ASSERT 125 # define BOOST_NO_CXX11_STATIC_ASSERT 126 #endif 127 #define BOOST_NO_CXX11_TEMPLATE_ALIASES 128 #define BOOST_NO_CXX11_UNICODE_LITERALS 129 #if ! __IBMCPP_VARIADIC_TEMPLATES 130 # define BOOST_NO_CXX11_VARIADIC_TEMPLATES 131 #endif 132 #if ! __C99_MACRO_WITH_VA_ARGS 133 # define BOOST_NO_CXX11_VARIADIC_MACROS 134 #endif 135 #define BOOST_NO_CXX11_ALIGNAS 136 #define BOOST_NO_CXX11_ALIGNOF 137 #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES 138 #define BOOST_NO_CXX11_INLINE_NAMESPACES 139 #define BOOST_NO_CXX11_REF_QUALIFIERS 140 #define BOOST_NO_CXX11_FINAL 141 #define BOOST_NO_CXX11_OVERRIDE 142 #define BOOST_NO_CXX11_THREAD_LOCAL 143 #define BOOST_NO_CXX11_UNRESTRICTED_UNION 144 145 // C++ 14: 146 #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) 147 # define BOOST_NO_CXX14_AGGREGATE_NSDMI 148 #endif 149 #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) 150 # define BOOST_NO_CXX14_BINARY_LITERALS 151 #endif 152 #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) 153 # define BOOST_NO_CXX14_CONSTEXPR 154 #endif 155 #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) 156 # define BOOST_NO_CXX14_DECLTYPE_AUTO 157 #endif 158 #if (__cplusplus < 201304) // There's no SD6 check for this.... 159 # define BOOST_NO_CXX14_DIGIT_SEPARATORS 160 #endif 161 #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) 162 # define BOOST_NO_CXX14_GENERIC_LAMBDAS 163 #endif 164 #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) 165 # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES 166 #endif 167 #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) 168 # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION 169 #endif 170 #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) 171 # define BOOST_NO_CXX14_VARIABLE_TEMPLATES 172 #endif 173 174 // C++17 175 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) 176 # define BOOST_NO_CXX17_STRUCTURED_BINDINGS 177 #endif 178 #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) 179 # define BOOST_NO_CXX17_INLINE_VARIABLES 180 #endif 181 #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) 182 # define BOOST_NO_CXX17_FOLD_EXPRESSIONS 183 #endif 184 #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) 185 # define BOOST_NO_CXX17_IF_CONSTEXPR 186 #endif