annotate DEPENDENCIES/generic/include/boost/config/compiler/sunpro_cc.hpp @ 125:34e428693f5d vext

Vext -> Repoint
author Chris Cannam
date Thu, 14 Jun 2018 11:15:39 +0100
parents c530137014c0
children
rev   line source
Chris@16 1 // (C) Copyright John Maddock 2001.
Chris@16 2 // (C) Copyright Jens Maurer 2001 - 2003.
Chris@16 3 // (C) Copyright Peter Dimov 2002.
Chris@16 4 // (C) Copyright Aleksey Gurtovoy 2002 - 2003.
Chris@16 5 // (C) Copyright David Abrahams 2002.
Chris@16 6 // Use, modification and distribution are subject to the
Chris@16 7 // Boost Software License, Version 1.0. (See accompanying file
Chris@16 8 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Chris@16 9
Chris@16 10 // See http://www.boost.org for most recent version.
Chris@16 11
Chris@16 12 // Sun C++ compiler setup:
Chris@16 13
Chris@16 14 # if __SUNPRO_CC <= 0x500
Chris@16 15 # define BOOST_NO_MEMBER_TEMPLATES
Chris@16 16 # define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
Chris@16 17 # endif
Chris@16 18
Chris@16 19 # if (__SUNPRO_CC <= 0x520)
Chris@16 20 //
Chris@16 21 // Sunpro 5.2 and earler:
Chris@16 22 //
Chris@16 23 // although sunpro 5.2 supports the syntax for
Chris@16 24 // inline initialization it often gets the value
Chris@16 25 // wrong, especially where the value is computed
Chris@16 26 // from other constants (J Maddock 6th May 2001)
Chris@16 27 # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
Chris@16 28
Chris@16 29 // Although sunpro 5.2 supports the syntax for
Chris@16 30 // partial specialization, it often seems to
Chris@16 31 // bind to the wrong specialization. Better
Chris@16 32 // to disable it until suppport becomes more stable
Chris@16 33 // (J Maddock 6th May 2001).
Chris@16 34 # define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
Chris@16 35 # endif
Chris@16 36
Chris@16 37 # if (__SUNPRO_CC <= 0x530)
Chris@16 38 // Requesting debug info (-g) with Boost.Python results
Chris@16 39 // in an internal compiler error for "static const"
Chris@16 40 // initialized in-class.
Chris@16 41 // >> Assertion: (../links/dbg_cstabs.cc, line 611)
Chris@16 42 // while processing ../test.cpp at line 0.
Chris@16 43 // (Jens Maurer according to Gottfried Ganssauge 04 Mar 2002)
Chris@16 44 # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
Chris@16 45
Chris@16 46 // SunPro 5.3 has better support for partial specialization,
Chris@16 47 // but breaks when compiling std::less<shared_ptr<T> >
Chris@16 48 // (Jens Maurer 4 Nov 2001).
Chris@16 49
Chris@16 50 // std::less specialization fixed as reported by George
Chris@16 51 // Heintzelman; partial specialization re-enabled
Chris@16 52 // (Peter Dimov 17 Jan 2002)
Chris@16 53
Chris@16 54 //# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
Chris@16 55
Chris@16 56 // integral constant expressions with 64 bit numbers fail
Chris@16 57 # define BOOST_NO_INTEGRAL_INT64_T
Chris@16 58 # endif
Chris@16 59
Chris@16 60 # if (__SUNPRO_CC < 0x570)
Chris@16 61 # define BOOST_NO_TEMPLATE_TEMPLATES
Chris@16 62 // see http://lists.boost.org/MailArchives/boost/msg47184.php
Chris@16 63 // and http://lists.boost.org/MailArchives/boost/msg47220.php
Chris@16 64 # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
Chris@16 65 # define BOOST_NO_SFINAE
Chris@16 66 # define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
Chris@16 67 # endif
Chris@16 68 # if (__SUNPRO_CC <= 0x580)
Chris@16 69 # define BOOST_NO_IS_ABSTRACT
Chris@16 70 # endif
Chris@16 71
Chris@16 72 # if (__SUNPRO_CC <= 0x5100)
Chris@16 73 // Sun 5.10 may not correctly value-initialize objects of
Chris@16 74 // some user defined types, as was reported in April 2010
Chris@16 75 // (CR 6947016), and confirmed by Steve Clamage.
Chris@16 76 // (Niels Dekker, LKEB, May 2010).
Chris@16 77 # define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
Chris@16 78 # endif
Chris@16 79
Chris@16 80 //
Chris@16 81 // Dynamic shared object (DSO) and dynamic-link library (DLL) support
Chris@16 82 //
Chris@16 83 #if __SUNPRO_CC > 0x500
Chris@16 84 # define BOOST_SYMBOL_EXPORT __global
Chris@16 85 # define BOOST_SYMBOL_IMPORT __global
Chris@16 86 # define BOOST_SYMBOL_VISIBLE __global
Chris@16 87 #endif
Chris@16 88
Chris@101 89 #if (__SUNPRO_CC < 0x5130)
Chris@101 90 // C++03 features in 12.4:
Chris@101 91 #define BOOST_NO_TWO_PHASE_NAME_LOOKUP
Chris@101 92 #define BOOST_NO_SFINAE_EXPR
Chris@101 93 #define BOOST_NO_ADL_BARRIER
Chris@101 94 #define BOOST_NO_CXX11_VARIADIC_MACROS
Chris@101 95 #endif
Chris@16 96
Chris@101 97 #if (__SUNPRO_CC < 0x5130) || (__cplusplus < 201100)
Chris@101 98 // C++11 only featuires in 12.4:
Chris@16 99 #define BOOST_NO_CXX11_AUTO_DECLARATIONS
Chris@16 100 #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
Chris@16 101 #define BOOST_NO_CXX11_CHAR16_T
Chris@16 102 #define BOOST_NO_CXX11_CHAR32_T
Chris@16 103 #define BOOST_NO_CXX11_CONSTEXPR
Chris@16 104 #define BOOST_NO_CXX11_DECLTYPE
Chris@16 105 #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
Chris@16 106 #define BOOST_NO_CXX11_DELETED_FUNCTIONS
Chris@16 107 #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
Chris@16 108 #define BOOST_NO_CXX11_EXTERN_TEMPLATE
Chris@16 109 #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
Chris@16 110 #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
Chris@16 111 #define BOOST_NO_CXX11_LAMBDAS
Chris@16 112 #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
Chris@16 113 #define BOOST_NO_CXX11_NOEXCEPT
Chris@16 114 #define BOOST_NO_CXX11_NULLPTR
Chris@16 115 #define BOOST_NO_CXX11_RANGE_BASED_FOR
Chris@16 116 #define BOOST_NO_CXX11_RAW_LITERALS
Chris@16 117 #define BOOST_NO_CXX11_RVALUE_REFERENCES
Chris@16 118 #define BOOST_NO_CXX11_SCOPED_ENUMS
Chris@16 119 #define BOOST_NO_CXX11_STATIC_ASSERT
Chris@16 120 #define BOOST_NO_CXX11_TEMPLATE_ALIASES
Chris@16 121 #define BOOST_NO_CXX11_UNICODE_LITERALS
Chris@16 122 #define BOOST_NO_CXX11_ALIGNAS
Chris@16 123 #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
Chris@16 124 #define BOOST_NO_CXX11_INLINE_NAMESPACES
Chris@101 125 #define BOOST_NO_CXX11_FINAL
Chris@101 126 #endif
Chris@16 127
Chris@16 128 //
Chris@101 129 // Issues that effect all known versions:
Chris@101 130 //
Chris@101 131 // Variadic templates pass our test case, but enabling this
Chris@101 132 // causes the compiler to issue a signal 11 and bail out
Chris@101 133 // in various libraries. The others fail our test cases.
Chris@101 134 //
Chris@101 135 #define BOOST_NO_CXX11_VARIADIC_TEMPLATES
Chris@101 136 #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
Chris@101 137 #define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
Chris@101 138 #define BOOST_NO_CXX11_DECLTYPE_N3276
Chris@101 139 #define BOOST_NO_CXX11_USER_DEFINED_LITERALS
Chris@101 140 #define BOOST_NO_CXX11_REF_QUALIFIERS
Chris@101 141 #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
Chris@101 142 //
Chris@101 143 // C++0x features
Chris@101 144 //
Chris@101 145 # define BOOST_HAS_LONG_LONG
Chris@101 146
Chris@101 147
Chris@101 148 // C++ 14:
Chris@101 149 #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
Chris@101 150 # define BOOST_NO_CXX14_AGGREGATE_NSDMI
Chris@101 151 #endif
Chris@101 152 #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
Chris@101 153 # define BOOST_NO_CXX14_BINARY_LITERALS
Chris@101 154 #endif
Chris@101 155 #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
Chris@101 156 # define BOOST_NO_CXX14_CONSTEXPR
Chris@101 157 #endif
Chris@101 158 #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
Chris@101 159 # define BOOST_NO_CXX14_DECLTYPE_AUTO
Chris@101 160 #endif
Chris@101 161 #if (__cplusplus < 201304) // There's no SD6 check for this....
Chris@101 162 # define BOOST_NO_CXX14_DIGIT_SEPARATORS
Chris@101 163 #endif
Chris@101 164 #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
Chris@101 165 # define BOOST_NO_CXX14_GENERIC_LAMBDAS
Chris@101 166 #endif
Chris@101 167 #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
Chris@101 168 # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
Chris@101 169 #endif
Chris@101 170 #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
Chris@101 171 # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
Chris@101 172 #endif
Chris@101 173 #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
Chris@101 174 # define BOOST_NO_CXX14_VARIABLE_TEMPLATES
Chris@101 175 #endif
Chris@101 176 //
Chris@16 177 // Version
Chris@16 178 //
Chris@16 179
Chris@16 180 #define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC)
Chris@16 181
Chris@16 182 //
Chris@16 183 // versions check:
Chris@16 184 // we don't support sunpro prior to version 4:
Chris@16 185 #if __SUNPRO_CC < 0x400
Chris@16 186 #error "Compiler not supported or configured - please reconfigure"
Chris@16 187 #endif
Chris@16 188 //
Chris@16 189 // last known and checked version is 0x590:
Chris@16 190 #if (__SUNPRO_CC > 0x590)
Chris@16 191 # if defined(BOOST_ASSERT_CONFIG)
Chris@16 192 # error "Unknown compiler version - please run the configure tests and report the results"
Chris@16 193 # endif
Chris@16 194 #endif