github.com/searKing/golang/go@v1.2.117/runtime/cgosymbolizer/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_OVERRIDE
   111  #define BOOST_NO_CXX11_THREAD_LOCAL
   112  #define BOOST_NO_CXX11_UNRESTRICTED_UNION
   113  
   114  // C++ 14:
   115  #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
   116  #  define BOOST_NO_CXX14_AGGREGATE_NSDMI
   117  #endif
   118  #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
   119  #  define BOOST_NO_CXX14_BINARY_LITERALS
   120  #endif
   121  #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
   122  #  define BOOST_NO_CXX14_CONSTEXPR
   123  #endif
   124  #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
   125  #  define BOOST_NO_CXX14_DECLTYPE_AUTO
   126  #endif
   127  #if (__cplusplus < 201304) // There's no SD6 check for this....
   128  #  define BOOST_NO_CXX14_DIGIT_SEPARATORS
   129  #endif
   130  #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
   131  #  define BOOST_NO_CXX14_GENERIC_LAMBDAS
   132  #endif
   133  #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
   134  #  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
   135  #endif
   136  #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
   137  #  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
   138  #endif
   139  #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
   140  #  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
   141  #endif
   142  
   143  // C++17
   144  #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
   145  #  define BOOST_NO_CXX17_STRUCTURED_BINDINGS
   146  #endif
   147  #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
   148  #  define BOOST_NO_CXX17_INLINE_VARIABLES
   149  #endif
   150  #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
   151  #  define BOOST_NO_CXX17_FOLD_EXPRESSIONS
   152  #endif
   153  
   154  #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
   155  #  define BOOST_NO_CXX17_IF_CONSTEXPR
   156  #endif
   157  
   158  #ifdef c_plusplus
   159  // EDG has "long long" in non-strict mode
   160  // However, some libraries have insufficient "long long" support
   161  // #define BOOST_HAS_LONG_LONG
   162  #endif