forked from boostorg/config
Merge branch 'develop' into cxx_version
Updates to C++20. Resolved Conflicts: checks/Jamfile.v2 checks/std/cpp_aggregate_bases_17.cpp checks/std/cpp_aggregate_nsdmi_14.cpp checks/std/cpp_alias_templates_11.cpp checks/std/cpp_aligned_new_17.cpp checks/std/cpp_attributes_11.cpp checks/std/cpp_binary_literals_14.cpp checks/std/cpp_capture_star_this_17.cpp checks/std/cpp_char8_t_20.cpp checks/std/cpp_conditional_explicit_20.cpp checks/std/cpp_constexpr_11.cpp checks/std/cpp_constexpr_14.cpp checks/std/cpp_constexpr_17.cpp checks/std/cpp_decltype_11.cpp checks/std/cpp_decltype_auto_14.cpp checks/std/cpp_deduction_guides_17.cpp checks/std/cpp_delegating_constructors_11.cpp checks/std/cpp_enumerator_attributes_17.cpp checks/std/cpp_exceptions_03.cpp checks/std/cpp_explicit_conversion_11.cpp checks/std/cpp_fold_expressions_17.cpp checks/std/cpp_generic_lambdas_14.cpp checks/std/cpp_guaranteed_copy_elision_17.cpp checks/std/cpp_hex_float_17.cpp checks/std/cpp_if_constexpr_17.cpp checks/std/cpp_impl_destroying_delete_20.cpp checks/std/cpp_impl_three_way_comparison_20.cpp checks/std/cpp_inheriting_constructors_11.cpp checks/std/cpp_inheriting_constructors_17.cpp checks/std/cpp_init_captures_14.cpp checks/std/cpp_initializer_lists_11.cpp checks/std/cpp_inline_variables_17.cpp checks/std/cpp_lambdas_11.cpp checks/std/cpp_lib_addressof_constexpr_17.cpp checks/std/cpp_lib_allocator_traits_is_always_equal_17.cpp checks/std/cpp_lib_any_17.cpp checks/std/cpp_lib_apply_17.cpp checks/std/cpp_lib_array_constexpr_17.cpp checks/std/cpp_lib_as_const_17.cpp checks/std/cpp_lib_atomic_is_always_lock_free_17.cpp checks/std/cpp_lib_atomic_ref_20.cpp checks/std/cpp_lib_bind_front_20.cpp checks/std/cpp_lib_bit_cast_20.cpp checks/std/cpp_lib_bool_constant_17.cpp checks/std/cpp_lib_boyer_moore_searcher_17.cpp checks/std/cpp_lib_byte_17.cpp checks/std/cpp_lib_char8_t_20.cpp checks/std/cpp_lib_chrono_17.cpp checks/std/cpp_lib_chrono_udls_14.cpp checks/std/cpp_lib_clamp_17.cpp checks/std/cpp_lib_complex_udls_14.cpp checks/std/cpp_lib_concepts_20.cpp checks/std/cpp_lib_constexpr_misc_20.cpp checks/std/cpp_lib_constexpr_swap_algorithms_20.cpp checks/std/cpp_lib_destroying_delete_20.cpp checks/std/cpp_lib_enable_shared_from_this_17.cpp checks/std/cpp_lib_erase_if_20.cpp checks/std/cpp_lib_exchange_function_14.cpp checks/std/cpp_lib_execution_17.cpp checks/std/cpp_lib_filesystem_17.cpp checks/std/cpp_lib_gcd_lcm_17.cpp checks/std/cpp_lib_generic_associative_lookup_14.cpp checks/std/cpp_lib_generic_unordered_lookup_20.cpp checks/std/cpp_lib_hardware_interference_size_17.cpp checks/std/cpp_lib_has_unique_object_representations_17.cpp checks/std/cpp_lib_hypot_17.cpp checks/std/cpp_lib_incomplete_container_elements_17.cpp checks/std/cpp_lib_integer_sequence_14.cpp checks/std/cpp_lib_integral_constant_callable_14.cpp checks/std/cpp_lib_invoke_17.cpp checks/std/cpp_lib_is_aggregate_17.cpp checks/std/cpp_lib_is_constant_evaluated_20.cpp checks/std/cpp_lib_is_final_14.cpp checks/std/cpp_lib_is_invocable_17.cpp checks/std/cpp_lib_is_null_pointer_14.cpp checks/std/cpp_lib_is_swappable_17.cpp checks/std/cpp_lib_launder_17.cpp checks/std/cpp_lib_list_remove_return_type_20.cpp checks/std/cpp_lib_logical_traits_17.cpp checks/std/cpp_lib_make_from_tuple_17.cpp checks/std/cpp_lib_make_reverse_iterator_14.cpp checks/std/cpp_lib_make_unique_14.cpp checks/std/cpp_lib_map_try_emplace_17.cpp checks/std/cpp_lib_math_special_functions_17.cpp checks/std/cpp_lib_memory_resource_17.cpp checks/std/cpp_lib_node_extract_17.cpp checks/std/cpp_lib_nonmember_container_access_17.cpp checks/std/cpp_lib_not_fn_17.cpp checks/std/cpp_lib_null_iterators_14.cpp checks/std/cpp_lib_optional_17.cpp checks/std/cpp_lib_parallel_algorithm_17.cpp checks/std/cpp_lib_quoted_string_io_14.cpp checks/std/cpp_lib_ranges_20.cpp checks/std/cpp_lib_raw_memory_algorithms_17.cpp checks/std/cpp_lib_result_of_sfinae_14.cpp checks/std/cpp_lib_robust_nonmodifying_seq_ops_14.cpp checks/std/cpp_lib_sample_17.cpp checks/std/cpp_lib_scoped_lock_17.cpp checks/std/cpp_lib_shared_mutex_17.cpp checks/std/cpp_lib_shared_ptr_arrays_17.cpp checks/std/cpp_lib_shared_ptr_weak_type_17.cpp checks/std/cpp_lib_shared_timed_mutex_14.cpp checks/std/cpp_lib_string_udls_14.cpp checks/std/cpp_lib_string_view_17.cpp checks/std/cpp_lib_three_way_comparison_20.cpp checks/std/cpp_lib_to_chars_17.cpp checks/std/cpp_lib_transformation_trait_aliases_14.cpp checks/std/cpp_lib_transparent_operators_14.cpp checks/std/cpp_lib_transparent_operators_17.cpp checks/std/cpp_lib_tuple_element_t_14.cpp checks/std/cpp_lib_tuples_by_type_14.cpp checks/std/cpp_lib_type_trait_variable_templates_17.cpp checks/std/cpp_lib_uncaught_exceptions_17.cpp checks/std/cpp_lib_unordered_map_try_emplace_17.cpp checks/std/cpp_lib_variant_17.cpp checks/std/cpp_lib_void_t_17.cpp checks/std/cpp_namespace_attributes_17.cpp checks/std/cpp_noexcept_function_type_17.cpp checks/std/cpp_nontype_template_args_17.cpp checks/std/cpp_nontype_template_parameter_auto_17.cpp checks/std/cpp_nontype_template_parameter_class_20.cpp checks/std/cpp_nsdmi_11.cpp checks/std/cpp_range_based_for_11.cpp checks/std/cpp_range_based_for_17.cpp checks/std/cpp_raw_strings_11.cpp checks/std/cpp_ref_qualifiers_11.cpp checks/std/cpp_return_type_deduction_14.cpp checks/std/cpp_rtti_03.cpp checks/std/cpp_rvalue_references_11.cpp checks/std/cpp_sized_deallocation_14.cpp checks/std/cpp_static_assert_11.cpp checks/std/cpp_static_assert_17.cpp checks/std/cpp_structured_bindings_17.cpp checks/std/cpp_template_template_args_17.cpp checks/std/cpp_threadsafe_static_init_11.cpp checks/std/cpp_unicode_characters_11.cpp checks/std/cpp_unicode_literals_11.cpp checks/std/cpp_user_defined_literals_11.cpp checks/std/cpp_variable_templates_14.cpp checks/std/cpp_variadic_templates_11.cpp checks/std/cpp_variadic_using_17.cpp checks/test_case.cpp doc/html/index.html test/all/Jamfile.v2 test/config_info.cpp test/config_test.cpp
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
// This file was automatically generated on Wed Mar 3 12:23:02 2021
|
||||
// This file was automatically generated on Sat Mar 6 19:55:50 2021
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-4.
|
||||
// Copyright John Maddock 2002-21.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
@@ -20,9 +20,6 @@
|
||||
#ifdef BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_AUTO_PTR
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_AUTO_PTR."
|
||||
#endif
|
||||
#ifdef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_COMPLETE_VALUE_INITIALIZATION."
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// This file was automatically generated on Wed Mar 3 12:23:02 2021
|
||||
// This file was automatically generated on Sat Mar 6 19:55:50 2021
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-4.
|
||||
// Copyright John Maddock 2002-21.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
@@ -21,9 +21,6 @@
|
||||
#ifdef BOOST_NO_CXX11_ALLOCATOR
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ALLOCATOR."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ATOMIC_SMART_PTR."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_AUTO_DECLARATIONS."
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// This file was automatically generated on Wed Mar 3 12:23:02 2021
|
||||
// This file was automatically generated on Sat Mar 6 19:55:50 2021
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-4.
|
||||
// Copyright John Maddock 2002-21.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// This file was automatically generated on Wed Mar 3 12:23:02 2021
|
||||
// This file was automatically generated on Sat Mar 6 19:55:50 2021
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-4.
|
||||
// Copyright John Maddock 2002-21.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
// This file was automatically generated on Sat Mar 6 19:55:50 2021
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-21.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org/libs/config for the most recent version.//
|
||||
// Revision $Id$
|
||||
//
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/config/assert_cxx17.hpp>
|
||||
|
||||
#ifdef BOOST_NO_CXX20_HDR_BARRIER
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_BARRIER."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_BIT
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_BIT."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_COMPARE
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_COMPARE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_CONCEPTS
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_CONCEPTS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_COROUTINE
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_COROUTINE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_FORMAT
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_FORMAT."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_LATCH
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_LATCH."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_NUMBERS
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_NUMBERS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_RANGES
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_RANGES."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_SEMAPHORE
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_SEMAPHORE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_SOURCE_LOCATION
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_SOURCE_LOCATION."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_SPAN
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_SPAN."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_STOP_TOKEN
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_STOP_TOKEN."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_SYNCSTREAM
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_SYNCSTREAM."
|
||||
#endif
|
||||
@@ -1,23 +0,0 @@
|
||||
// This file was automatically generated on Wed Mar 3 08:46:11 2021
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-4.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org/libs/config for the most recent version.//
|
||||
// Revision $Id$
|
||||
//
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/config/assert_cxx17.hpp>
|
||||
|
||||
#ifdef BOOST_NO_CXX98_BINDERS
|
||||
# error "Your compiler appears not to be fully C++98 compliant. Detected via defect macro BOOST_NO_CXX98_BINDERS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX98_FUNCTION_BASE
|
||||
# error "Your compiler appears not to be fully C++98 compliant. Detected via defect macro BOOST_NO_CXX98_FUNCTION_BASE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX98_RANDOM_SHUFFLE
|
||||
# error "Your compiler appears not to be fully C++98 compliant. Detected via defect macro BOOST_NO_CXX98_RANDOM_SHUFFLE."
|
||||
#endif
|
||||
@@ -1,6 +1,6 @@
|
||||
// This file was automatically generated on Wed Mar 3 12:23:02 2021
|
||||
// This file was automatically generated on Sat Mar 6 19:55:50 2021
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-4.
|
||||
// Copyright John Maddock 2002-21.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
@@ -12,7 +12,6 @@
|
||||
#if defined(BOOST_NO_ADL_BARRIER)\
|
||||
|| defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)\
|
||||
|| defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\
|
||||
|| defined(BOOST_NO_AUTO_PTR)\
|
||||
|| defined(BOOST_NO_COMPLETE_VALUE_INITIALIZATION)\
|
||||
|| defined(BOOST_NO_CTYPE_FUNCTIONS)\
|
||||
|| defined(BOOST_NO_CV_SPECIALIZATIONS)\
|
||||
@@ -83,7 +82,6 @@
|
||||
|| defined(BOOST_NO_CXX11_ADDRESSOF)\
|
||||
|| defined(BOOST_NO_CXX11_ALIGNAS)\
|
||||
|| defined(BOOST_NO_CXX11_ALLOCATOR)\
|
||||
|| defined(BOOST_NO_CXX11_ATOMIC_SMART_PTR)\
|
||||
|| defined(BOOST_NO_CXX11_AUTO_DECLARATIONS)\
|
||||
|| defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS)\
|
||||
|| defined(BOOST_NO_CXX11_CHAR16_T)\
|
||||
@@ -184,3 +182,21 @@
|
||||
# define BOOST_NO_CXX17
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_NO_CXX17)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_BARRIER)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_BIT)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_COMPARE)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_CONCEPTS)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_COROUTINE)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_FORMAT)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_LATCH)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_NUMBERS)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_RANGES)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_SEMAPHORE)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_SOURCE_LOCATION)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_SPAN)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_STOP_TOKEN)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_SYNCSTREAM)
|
||||
# define BOOST_NO_CXX20
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1123,6 +1123,68 @@ namespace std{ using ::type_info; }
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if !defined(_YVALS) && !defined(_CPPLIB_VER) // msvc std lib already configured
|
||||
#if (!defined(__has_include) || (__cplusplus < 201704))
|
||||
# define BOOST_NO_CXX20_HDR_BARRIER
|
||||
# define BOOST_NO_CXX20_HDR_FORMAT
|
||||
# define BOOST_NO_CXX20_HDR_SOURCE_LOCATION
|
||||
# define BOOST_NO_CXX20_HDR_BIT
|
||||
# define BOOST_NO_CXX20_HDR_LATCH
|
||||
# define BOOST_NO_CXX20_HDR_SPAN
|
||||
# define BOOST_NO_CXX20_HDR_COMPARE
|
||||
# define BOOST_NO_CXX20_HDR_NUMBERS
|
||||
# define BOOST_NO_CXX20_HDR_STOP_TOKEN
|
||||
# define BOOST_NO_CXX20_HDR_CONCEPTS
|
||||
# define BOOST_NO_CXX20_HDR_RANGES
|
||||
# define BOOST_NO_CXX20_HDR_SYNCSTREAM
|
||||
# define BOOST_NO_CXX20_HDR_COROUTINE
|
||||
# define BOOST_NO_CXX20_HDR_SEMAPHORE
|
||||
#else
|
||||
#if !__has_include(<barrier>)
|
||||
# define BOOST_NO_CXX20_HDR_BARRIER
|
||||
#endif
|
||||
#if !__has_include(<format>)
|
||||
# define BOOST_NO_CXX20_HDR_FORMAT
|
||||
#endif
|
||||
#if !__has_include(<source_Location>)
|
||||
# define BOOST_NO_CXX20_HDR_SOURCE_LOCATION
|
||||
#endif
|
||||
#if !__has_include(<bit>)
|
||||
# define BOOST_NO_CXX20_HDR_BIT
|
||||
#endif
|
||||
#if !__has_include(<latch>)
|
||||
# define BOOST_NO_CXX20_HDR_LATCH
|
||||
#endif
|
||||
#if !__has_include(<span>)
|
||||
# define BOOST_NO_CXX20_HDR_SPAN
|
||||
#endif
|
||||
#if !__has_include(<compare>)
|
||||
# define BOOST_NO_CXX20_HDR_COMPARE
|
||||
#endif
|
||||
#if !__has_include(<numbers>)
|
||||
# define BOOST_NO_CXX20_HDR_NUMBERS
|
||||
#endif
|
||||
#if !__has_include(<stop_token>)
|
||||
# define BOOST_NO_CXX20_HDR_STOP_TOKEN
|
||||
#endif
|
||||
#if !__has_include(<concepts>)
|
||||
# define BOOST_NO_CXX20_HDR_CONCEPTS
|
||||
#endif
|
||||
#if !__has_include(<range>)
|
||||
# define BOOST_NO_CXX20_HDR_RANGES
|
||||
#endif
|
||||
#if !__has_include(<syncstream>)
|
||||
# define BOOST_NO_CXX20_HDR_SYNCSTREAM
|
||||
#endif
|
||||
#if !__has_include(<coroutine>)
|
||||
# define BOOST_NO_CXX20_HDR_COROUTINE
|
||||
#endif
|
||||
#if !__has_include(<semaphore>)
|
||||
# define BOOST_NO_CXX20_HDR_SEMAPHORE
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// Define composite agregate macros:
|
||||
//
|
||||
|
||||
@@ -192,6 +192,26 @@
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
#endif
|
||||
|
||||
// C++20 features
|
||||
#if !defined(_MSVC_STL_UPDATE) || (_MSVC_STL_UPDATE < 202008L) || !defined(_HAS_CXX20) || (_HAS_CXX20 == 0)
|
||||
# define BOOST_NO_CXX20_HDR_BARRIER
|
||||
# define BOOST_NO_CXX20_HDR_BIT
|
||||
# define BOOST_NO_CXX20_HDR_LATCH
|
||||
# define BOOST_NO_CXX20_HDR_SPAN
|
||||
# define BOOST_NO_CXX20_HDR_COMPARE
|
||||
# define BOOST_NO_CXX20_HDR_NUMBERS
|
||||
# define BOOST_NO_CXX20_HDR_CONCEPTS
|
||||
# define BOOST_NO_CXX20_HDR_COROUTINE
|
||||
# define BOOST_NO_CXX20_HDR_SEMAPHORE
|
||||
#endif
|
||||
// C++20 features not yet implemented:
|
||||
# define BOOST_NO_CXX20_HDR_FORMAT
|
||||
# define BOOST_NO_CXX20_HDR_SOURCE_LOCATION
|
||||
# define BOOST_NO_CXX20_HDR_STOP_TOKEN
|
||||
# define BOOST_NO_CXX20_HDR_SYNCSTREAM
|
||||
// Incomplete:
|
||||
# define BOOST_NO_CXX20_HDR_RANGES
|
||||
|
||||
#if !(!defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(BOOST_MSVC) || (BOOST_MSVC < 1912) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0))
|
||||
// Deprecated std::iterator:
|
||||
# define BOOST_NO_STD_ITERATOR
|
||||
@@ -227,6 +247,12 @@
|
||||
# define BOOST_NO_CXX98_BINDERS
|
||||
# endif
|
||||
#endif
|
||||
//
|
||||
// Things deprecated in C++20:
|
||||
//
|
||||
#if defined(_HAS_CXX20)
|
||||
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
|
||||
@@ -106,6 +106,7 @@
|
||||
|
||||
#ifdef __has_include
|
||||
#if __has_include(<version>)
|
||||
#include <version>
|
||||
|
||||
#if !defined(__cpp_lib_execution) || (__cpp_lib_execution < 201603L)
|
||||
# define BOOST_NO_CXX17_HDR_EXECUTION
|
||||
@@ -114,6 +115,54 @@
|
||||
#define BOOST_NO_CXX17_STD_INVOKE
|
||||
#endif
|
||||
|
||||
#if !defined(__cpp_lib_bit_cast) || (__cpp_lib_bit_cast < 201806L) || !defined(__cpp_lib_bitops) || (__cpp_lib_bitops < 201907L) || !defined(__cpp_lib_endian) || (__cpp_lib_endian < 201907L)
|
||||
# define BOOST_NO_CXX20_HDR_BIT
|
||||
#endif
|
||||
#if !defined(__cpp_lib_three_way_comparison) || (__cpp_lib_three_way_comparison < 201907L)
|
||||
# define BOOST_NO_CXX20_HDR_COMPARE
|
||||
#endif
|
||||
#if !defined(__cpp_lib_ranges) || (__cpp_lib_ranges < 201911L)
|
||||
# define BOOST_NO_CXX20_HDR_RANGES
|
||||
#endif
|
||||
#if !defined(__cpp_lib_barrier) || (__cpp_lib_barrier < 201907L)
|
||||
# define BOOST_NO_CXX20_HDR_BARRIER
|
||||
#endif
|
||||
#if !defined(__cpp_lib_format) || (__cpp_lib_format < 201907L)
|
||||
# define BOOST_NO_CXX20_HDR_FORMAT
|
||||
#endif
|
||||
#if !defined(__cpp_lib_source_location) || (__cpp_lib_source_location < 201907L)
|
||||
# define BOOST_NO_CXX20_HDR_SOURCE_LOCATION
|
||||
#endif
|
||||
#if !defined(__cpp_lib_latch) || (__cpp_lib_latch < 201907L)
|
||||
# define BOOST_NO_CXX20_HDR_SOURCE_LATCH
|
||||
#endif
|
||||
#if !defined(__cpp_lib_span) || (__cpp_lib_span < 202002L)
|
||||
# define BOOST_NO_CXX20_HDR_SOURCE_SPAN
|
||||
#endif
|
||||
#if !defined(__cpp_lib_math_constants) || (__cpp_lib_math_constants < 201907L)
|
||||
# define BOOST_NO_CXX20_HDR_SOURCE_NUMBERS
|
||||
#endif
|
||||
#if !defined(__cpp_lib_jthread) || (__cpp_lib_jthread < 201911L)
|
||||
# define BOOST_NO_CXX20_HDR_SOURCE_STOP_TOKEN
|
||||
#endif
|
||||
#if !defined(__cpp_lib_concepts) || (__cpp_lib_concepts < 202002L)
|
||||
# define BOOST_NO_CXX20_HDR_SOURCE_STOP_CONCEPTS
|
||||
#endif
|
||||
#if !defined(__cpp_lib_syncbuf) || (__cpp_lib_syncbuf < 201803L)
|
||||
# define BOOST_NO_CXX20_HDR_SYNCSTREAM
|
||||
#endif
|
||||
#if !defined(__cpp_lib_coroutine) || (__cpp_lib_coroutine < 201902L)
|
||||
# define BOOST_NO_CXX20_HDR_COROUTINE
|
||||
#endif
|
||||
#if !defined(__cpp_lib_semaphore) || (__cpp_lib_semaphore < 201907L)
|
||||
# define BOOST_NO_CXX20_HDR_SEMAPHORE
|
||||
#endif
|
||||
|
||||
#if(_LIBCPP_VERSION < 9000) && !defined(BOOST_NO_CXX20_HDR_SPAN)
|
||||
// as_writable_bytes is missing.
|
||||
# define BOOST_NO_CXX20_HDR_SPAN
|
||||
#endif
|
||||
|
||||
#else
|
||||
#define BOOST_NO_CXX17_STD_INVOKE // Invoke support is incomplete (no invoke_result)
|
||||
#define BOOST_NO_CXX17_HDR_EXECUTION
|
||||
|
||||
@@ -303,10 +303,6 @@ extern "C" char *gets (char *__s);
|
||||
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||
#endif
|
||||
|
||||
#if defined(__clang_major__) && ((__clang_major__ < 3) || ((__clang_major__ == 3) && (__clang_minor__ < 7)))
|
||||
// As of clang-3.6, libstdc++ header <atomic> throws up errors with clang:
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
#endif
|
||||
//
|
||||
// C++0x features in GCC 5.1 and later
|
||||
//
|
||||
@@ -355,6 +351,35 @@ extern "C" char *gets (char *__s);
|
||||
# define BOOST_NO_CXX17_HDR_CHARCONV
|
||||
#endif
|
||||
|
||||
#if BOOST_LIBSTDCXX_VERSION < 110000
|
||||
//
|
||||
// Header <bit> may be present but lacks std::bit_cast:
|
||||
//
|
||||
#define BOOST_NO_CXX20_HDR_BIT
|
||||
#endif
|
||||
|
||||
#ifndef __cpp_impl_coroutine
|
||||
# define BOOST_NO_CXX20_HDR_COROUTINE
|
||||
#endif
|
||||
|
||||
//
|
||||
// These next defines are mostly for older clang versions with a newer libstdc++ :
|
||||
//
|
||||
#if !defined(__cpp_lib_concepts)
|
||||
#if !defined(BOOST_NO_CXX20_HDR_COMPARE)
|
||||
# define BOOST_NO_CXX20_HDR_COMPARE
|
||||
#endif
|
||||
#if !defined(BOOST_NO_CXX20_HDR_CONCEPTS)
|
||||
# define BOOST_NO_CXX20_HDR_CONCEPTS
|
||||
#endif
|
||||
#if !defined(BOOST_NO_CXX20_HDR_SPAN)
|
||||
# define BOOST_NO_CXX20_HDR_SPAN
|
||||
#endif
|
||||
#if !defined(BOOST_NO_CXX20_HDR_RANGES)
|
||||
# define BOOST_NO_CXX20_HDR_RANGES
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// Headers not present on Solaris with the Oracle compiler:
|
||||
#if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5140)
|
||||
|
||||
Reference in New Issue
Block a user