github.com/searKing/golang/go@v1.2.74/os/signal/cgo/include/boost/config/compiler/common_edg.hpp (about)

     1  //  (C) Copyright John Maddock 2001 - 2002.
     2  //  (C) Copyright Jens Maurer 2001.
     3  //  (C) Copyright David Abrahams 2002.
     4  //  (C) Copyright Aleksey Gurtovoy 2002.
     5  //  (C) Copyright Markus Schoepflin 2005.
     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  //
    13  // Options common to all edg based compilers.
    14  //
    15  // This is included from within the individual compiler mini-configs.
    16  
    17  #ifndef  __EDG_VERSION__
    18  #  error This file requires that __EDG_VERSION__ be defined.
    19  #endif
    20  
    21  #if (__EDG_VERSION__ <= 238)
    22  #   define BOOST_NO_INTEGRAL_INT64_T
    23  #   define BOOST_NO_SFINAE
    24  #endif
    25  
    26  #if (__EDG_VERSION__ <= 240)
    27  #   define BOOST_NO_VOID_RETURNS
    28  #endif
    29  
    30  #if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)
    31  #   define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
    32  #endif
    33  
    34  #if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES)
    35  #   define BOOST_NO_TEMPLATE_TEMPLATES
    36  #endif
    37  
    38  #if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT)
    39  #   define BOOST_NO_IS_ABSTRACT
    40  #endif
    41  
    42  #if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
    43  #   define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
    44  #endif
    45  
    46  // See also kai.hpp which checks a Kai-specific symbol for EH
    47  # if !defined(__KCC) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
    48  #     define BOOST_NO_EXCEPTIONS
    49  # endif
    50  
    51  # if !defined(__NO_LONG_LONG)
    52  #     define BOOST_HAS_LONG_LONG
    53  # else
    54  #     define BOOST_NO_LONG_LONG
    55  # endif
    56  
    57  // Not sure what version was the first to support #pragma once, but
    58  // different EDG-based compilers (e.g. Intel) supported it for ages.
    59  // Add a proper version check if it causes problems.
    60  #define BOOST_HAS_PRAGMA_ONCE
    61  
    62  //
    63  // C++0x features
    64  //
    65  //   See above for BOOST_NO_LONG_LONG
    66  //
    67  #if (__EDG_VERSION__ < 310)
    68  #  define BOOST_NO_CXX11_EXTERN_TEMPLATE
    69  #endif
    70  #if (__EDG_VERSION__ <= 310)
    71  // No support for initializer lists
    72  #  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
    73  #endif
    74  #if (__EDG_VERSION__ < 400)
    75  #  define BOOST_NO_CXX11_VARIADIC_MACROS
    76  #endif
    77  
    78  #define BOOST_NO_CXX11_AUTO_DECLARATIONS
    79  #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
    80  #define BOOST_NO_CXX11_CHAR16_T
    81  #define BOOST_NO_CXX11_CHAR32_T
    82  #define BOOST_NO_CXX11_CONSTEXPR
    83  #define BOOST_NO_CXX11_DECLTYPE
    84  #define BOOST_NO_CXX11_DECLTYPE_N3276
    85  #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
    86  #define BOOST_NO_CXX11_DELETED_FUNCTIONS
    87  #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
    88  #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
    89  #define BOOST_NO_CXX11_LAMBDAS
    90  #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
    91  #define BOOST_NO_CXX11_NOEXCEPT
    92  #define BOOST_NO_CXX11_NULLPTR
    93  #define BOOST_NO_CXX11_RANGE_BASED_FOR
    94  #define BOOST_NO_CXX11_RAW_LITERALS
    95  #define BOOST_NO_CXX11_RVALUE_REFERENCES
    96  #define BOOST_NO_CXX11_SCOPED_ENUMS
    97  #define BOOST_NO_SFINAE_EXPR
    98  #define BOOST_NO_CXX11_SFINAE_EXPR
    99  #define BOOST_NO_CXX11_STATIC_ASSERT
   100  #define BOOST_NO_CXX11_TEMPLATE_ALIASES
   101  #define BOOST_NO_CXX11_UNICODE_LITERALS
   102  #define BOOST_NO_CXX11_VARIADIC_TEMPLATES
   103  #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
   104  #define BOOST_NO_CXX11_USER_DEFINED_LITERALS
   105  #define BOOST_NO_CXX11_ALIGNAS
   106  #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
   107  #define BOOST_NO_CXX11_INLINE_NAMESPACES
   108  #define BOOST_NO_CXX11_REF_QUALIFIERS
   109  #define BOOST_NO_CXX11_FINAL
   110  #define BOOST_NO_CXX11_THREAD_LOCAL
   111  
   112  // C++ 14:
   113  #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
   114  #  define BOOST_NO_CXX14_AGGREGATE_NSDMI
   115  #endif
   116  #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
   117  #  define BOOST_NO_CXX14_BINARY_LITERALS
   118  #endif
   119  #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
   120  #  define BOOST_NO_CXX14_CONSTEXPR
   121  #endif
   122  #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
   123  #  define BOOST_NO_CXX14_DECLTYPE_AUTO
   124  #endif
   125  #if (__cplusplus < 201304) // There's no SD6 check for this....
   126  #  define BOOST_NO_CXX14_DIGIT_SEPARATORS
   127  #endif
   128  #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
   129  #  define BOOST_NO_CXX14_GENERIC_LAMBDAS
   130  #endif
   131  #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
   132  #  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
   133  #endif
   134  #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
   135  #  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
   136  #endif
   137  #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
   138  #  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
   139  #endif
   140  
   141  // C++17
   142  #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
   143  #  define BOOST_NO_CXX17_STRUCTURED_BINDINGS
   144  #endif
   145  #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
   146  #  define BOOST_NO_CXX17_INLINE_VARIABLES
   147  #endif
   148  #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
   149  #  define BOOST_NO_CXX17_FOLD_EXPRESSIONS
   150  #endif
   151  
   152  #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
   153  #  define BOOST_NO_CXX17_IF_CONSTEXPR
   154  #endif
   155  
   156  #ifdef c_plusplus
   157  // EDG has "long long" in non-strict mode
   158  // However, some libraries have insufficient "long long" support
   159  // #define BOOST_HAS_LONG_LONG
   160  #endif