github.com/searKing/golang/go@v1.2.117/runtime/cgosymbolizer/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  #define BOOST_NO_CXX11_OVERRIDE
   127  #define BOOST_NO_CXX11_UNRESTRICTED_UNION
   128  #endif
   129  
   130  #if (__SUNPRO_CC < 0x5140) || (__cplusplus < 201103)
   131  #define BOOST_NO_CXX11_VARIADIC_TEMPLATES
   132  #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
   133  #define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
   134  #define BOOST_NO_CXX11_DECLTYPE_N3276
   135  #define BOOST_NO_CXX11_USER_DEFINED_LITERALS
   136  #define BOOST_NO_CXX11_REF_QUALIFIERS
   137  #define BOOST_NO_CXX11_THREAD_LOCAL
   138  #endif
   139  
   140  #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
   141  //
   142  // C++0x features
   143  //
   144  #  define BOOST_HAS_LONG_LONG
   145  
   146  #define BOOST_NO_CXX11_SFINAE_EXPR
   147  
   148  // C++ 14:
   149  #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
   150  #  define BOOST_NO_CXX14_AGGREGATE_NSDMI
   151  #endif
   152  #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
   153  #  define BOOST_NO_CXX14_BINARY_LITERALS
   154  #endif
   155  #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
   156  #  define BOOST_NO_CXX14_CONSTEXPR
   157  #endif
   158  #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) || (__cplusplus < 201402L)
   159  #  define BOOST_NO_CXX14_DECLTYPE_AUTO
   160  #endif
   161  #if (__cplusplus < 201304) // There's no SD6 check for this....
   162  #  define BOOST_NO_CXX14_DIGIT_SEPARATORS
   163  #endif
   164  #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
   165  #  define BOOST_NO_CXX14_GENERIC_LAMBDAS
   166  #endif
   167  #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
   168  #  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
   169  #endif
   170  #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
   171  #  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
   172  #endif
   173  #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
   174  #  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
   175  #endif
   176  
   177  // C++17
   178  #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
   179  #  define BOOST_NO_CXX17_STRUCTURED_BINDINGS
   180  #endif
   181  #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
   182  #  define BOOST_NO_CXX17_INLINE_VARIABLES
   183  #endif
   184  #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
   185  #  define BOOST_NO_CXX17_FOLD_EXPRESSIONS
   186  #endif
   187  #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
   188  #  define BOOST_NO_CXX17_IF_CONSTEXPR
   189  #endif
   190  
   191  // Turn on threading support for Solaris 12.
   192  // Ticket #11972
   193  #if (__SUNPRO_CC >= 0x5140) && defined(__SunOS_5_12) && !defined(BOOST_HAS_THREADS)
   194  # define BOOST_HAS_THREADS
   195  #endif
   196  
   197  //
   198  // Version
   199  //
   200  
   201  #define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC)
   202  
   203  //
   204  // versions check:
   205  // we don't support sunpro prior to version 4:
   206  #if __SUNPRO_CC < 0x400
   207  #error "Compiler not supported or configured - please reconfigure"
   208  #endif
   209  //
   210  // last known and checked version:
   211  #if (__SUNPRO_CC > 0x5150)
   212  #  if defined(BOOST_ASSERT_CONFIG)
   213  #     error "Boost.Config is older than your compiler - please check for an updated Boost release."
   214  #  endif
   215  #endif