github.com/searKing/golang/go@v1.2.117/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_DEFAULTED_FUNCTIONS
    81  #define BOOST_NO_CXX11_DELETED_FUNCTIONS
    82  #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
    83  #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
    84  #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
    85  #define BOOST_NO_CXX11_NOEXCEPT
    86  #define BOOST_NO_CXX11_NULLPTR
    87  #define BOOST_NO_CXX11_RVALUE_REFERENCES
    88  #define BOOST_NO_CXX11_SCOPED_ENUMS
    89  #define BOOST_NO_SFINAE_EXPR
    90  #define BOOST_NO_CXX11_SFINAE_EXPR
    91  #define BOOST_NO_CXX11_STATIC_ASSERT
    92  #define BOOST_NO_CXX11_TEMPLATE_ALIASES
    93  #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
    94  #define BOOST_NO_CXX11_ALIGNAS
    95  #define BOOST_NO_CXX11_ALIGNOF
    96  #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
    97  #define BOOST_NO_CXX11_INLINE_NAMESPACES
    98  #define BOOST_NO_CXX11_REF_QUALIFIERS
    99  #define BOOST_NO_CXX11_FINAL
   100  #define BOOST_NO_CXX11_OVERRIDE
   101  #define BOOST_NO_CXX11_THREAD_LOCAL
   102  #define BOOST_NO_CXX11_UNRESTRICTED_UNION
   103  
   104  //__cpp_decltype 200707 possibly?
   105  #define BOOST_NO_CXX11_DECLTYPE
   106  #define BOOST_NO_CXX11_DECLTYPE_N3276
   107  
   108  #if !defined(__cpp_unicode_characters) || (__cpp_unicode_characters < 200704)
   109  #   define BOOST_NO_CXX11_CHAR16_T
   110  #   define BOOST_NO_CXX11_CHAR32_T
   111  #endif
   112  #if !defined(__cpp_unicode_literals) || (__cpp_unicode_literals < 200710)
   113  #   define BOOST_NO_CXX11_UNICODE_LITERALS
   114  #endif
   115  #if !defined(__cpp_user_defined_literals) || (__cpp_user_defined_literals < 200809)
   116  #   define BOOST_NO_CXX11_USER_DEFINED_LITERALS
   117  #endif
   118  #if !defined(__cpp_variadic_templates) || (__cpp_variadic_templates < 200704)
   119  #   define BOOST_NO_CXX11_VARIADIC_TEMPLATES
   120  #endif
   121  #if !defined(__cpp_constexpr) || (__cpp_constexpr < 200907)
   122  #   define BOOST_NO_CXX11_CONSTEXPR
   123  #endif
   124  #if !defined(__cpp_lambdas) || (__cpp_lambdas < 200907)
   125  #   define BOOST_NO_CXX11_LAMBDAS
   126  #endif
   127  #if !defined(__cpp_range_based_for) || (__cpp_range_based_for < 200710)
   128  #   define BOOST_NO_CXX11_RANGE_BASED_FOR
   129  #endif
   130  #if !defined(__cpp_raw_strings) || (__cpp_raw_strings < 200610)
   131  #   define BOOST_NO_CXX11_RAW_LITERALS
   132  #endif
   133  
   134  
   135  // C++ 14:
   136  #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
   137  #  define BOOST_NO_CXX14_AGGREGATE_NSDMI
   138  #endif
   139  #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
   140  #  define BOOST_NO_CXX14_BINARY_LITERALS
   141  #endif
   142  #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
   143  #  define BOOST_NO_CXX14_CONSTEXPR
   144  #endif
   145  #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
   146  #  define BOOST_NO_CXX14_DECLTYPE_AUTO
   147  #endif
   148  #if (__cplusplus < 201304) // There's no SD6 check for this....
   149  #  define BOOST_NO_CXX14_DIGIT_SEPARATORS
   150  #endif
   151  #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
   152  #  define BOOST_NO_CXX14_GENERIC_LAMBDAS
   153  #endif
   154  #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
   155  #  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
   156  #endif
   157  #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
   158  #  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
   159  #endif
   160  #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
   161  #  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
   162  #endif
   163  
   164  // C++17
   165  #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
   166  #  define BOOST_NO_CXX17_STRUCTURED_BINDINGS
   167  #endif
   168  #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
   169  #  define BOOST_NO_CXX17_INLINE_VARIABLES
   170  #endif
   171  #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
   172  #  define BOOST_NO_CXX17_FOLD_EXPRESSIONS
   173  #endif
   174  
   175  #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
   176  #  define BOOST_NO_CXX17_IF_CONSTEXPR
   177  #endif
   178  
   179  #ifdef c_plusplus
   180  // EDG has "long long" in non-strict mode
   181  // However, some libraries have insufficient "long long" support
   182  // #define BOOST_HAS_LONG_LONG
   183  #endif