github.com/searKing/golang/go@v1.2.74/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  #if (__SUNPRO_CC < 0x5130)
    90  // C++03 features in 12.4:
    91  #define BOOST_NO_TWO_PHASE_NAME_LOOKUP
    92  #define BOOST_NO_SFINAE_EXPR
    93  #define BOOST_NO_ADL_BARRIER
    94  #define BOOST_NO_CXX11_VARIADIC_MACROS
    95  #endif
    96  
    97  #if (__SUNPRO_CC < 0x5130) || (__cplusplus < 201100)
    98  // C++11 only featuires in 12.4:
    99  #define BOOST_NO_CXX11_AUTO_DECLARATIONS
   100  #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
   101  #define BOOST_NO_CXX11_CHAR16_T
   102  #define BOOST_NO_CXX11_CHAR32_T
   103  #define BOOST_NO_CXX11_CONSTEXPR
   104  #define BOOST_NO_CXX11_DECLTYPE
   105  #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
   106  #define BOOST_NO_CXX11_DELETED_FUNCTIONS
   107  #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
   108  #define BOOST_NO_CXX11_EXTERN_TEMPLATE
   109  #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
   110  #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
   111  #define BOOST_NO_CXX11_LAMBDAS
   112  #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
   113  #define BOOST_NO_CXX11_NOEXCEPT
   114  #define BOOST_NO_CXX11_NULLPTR
   115  #define BOOST_NO_CXX11_RANGE_BASED_FOR
   116  #define BOOST_NO_CXX11_RAW_LITERALS
   117  #define BOOST_NO_CXX11_RVALUE_REFERENCES
   118  #define BOOST_NO_CXX11_SCOPED_ENUMS
   119  #define BOOST_NO_CXX11_STATIC_ASSERT
   120  #define BOOST_NO_CXX11_TEMPLATE_ALIASES
   121  #define BOOST_NO_CXX11_UNICODE_LITERALS
   122  #define BOOST_NO_CXX11_ALIGNAS
   123  #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
   124  #define BOOST_NO_CXX11_INLINE_NAMESPACES
   125  #define BOOST_NO_CXX11_FINAL
   126  #endif
   127  
   128  #if (__SUNPRO_CC < 0x5140) || (__cplusplus < 201103)
   129  #define BOOST_NO_CXX11_VARIADIC_TEMPLATES
   130  #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
   131  #define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
   132  #define BOOST_NO_CXX11_DECLTYPE_N3276
   133  #define BOOST_NO_CXX11_USER_DEFINED_LITERALS
   134  #define BOOST_NO_CXX11_REF_QUALIFIERS
   135  #define BOOST_NO_CXX11_THREAD_LOCAL
   136  #endif
   137  
   138  #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
   139  //
   140  // C++0x features
   141  //
   142  #  define BOOST_HAS_LONG_LONG
   143  
   144  #define BOOST_NO_CXX11_SFINAE_EXPR
   145  
   146  // C++ 14:
   147  #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
   148  #  define BOOST_NO_CXX14_AGGREGATE_NSDMI
   149  #endif
   150  #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
   151  #  define BOOST_NO_CXX14_BINARY_LITERALS
   152  #endif
   153  #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
   154  #  define BOOST_NO_CXX14_CONSTEXPR
   155  #endif
   156  #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) || (__cplusplus < 201402L)
   157  #  define BOOST_NO_CXX14_DECLTYPE_AUTO
   158  #endif
   159  #if (__cplusplus < 201304) // There's no SD6 check for this....
   160  #  define BOOST_NO_CXX14_DIGIT_SEPARATORS
   161  #endif
   162  #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
   163  #  define BOOST_NO_CXX14_GENERIC_LAMBDAS
   164  #endif
   165  #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
   166  #  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
   167  #endif
   168  #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
   169  #  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
   170  #endif
   171  #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
   172  #  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
   173  #endif
   174  
   175  // C++17
   176  #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
   177  #  define BOOST_NO_CXX17_STRUCTURED_BINDINGS
   178  #endif
   179  #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
   180  #  define BOOST_NO_CXX17_INLINE_VARIABLES
   181  #endif
   182  #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
   183  #  define BOOST_NO_CXX17_FOLD_EXPRESSIONS
   184  #endif
   185  #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
   186  #  define BOOST_NO_CXX17_IF_CONSTEXPR
   187  #endif
   188  
   189  // Turn on threading support for Solaris 12.
   190  // Ticket #11972
   191  #if (__SUNPRO_CC >= 0x5140) && defined(__SunOS_5_12) && !defined(BOOST_HAS_THREADS)
   192  # define BOOST_HAS_THREADS
   193  #endif
   194  
   195  //
   196  // Version
   197  //
   198  
   199  #define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC)
   200  
   201  //
   202  // versions check:
   203  // we don't support sunpro prior to version 4:
   204  #if __SUNPRO_CC < 0x400
   205  #error "Compiler not supported or configured - please reconfigure"
   206  #endif
   207  //
   208  // last known and checked version:
   209  #if (__SUNPRO_CC > 0x5150)
   210  #  if defined(BOOST_ASSERT_CONFIG)
   211  #     error "Boost.Config is older than your compiler - please check for an updated Boost release."
   212  #  endif
   213  #endif