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