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:
jzmaddock
2021-03-06 19:58:12 +00:00
203 changed files with 2632 additions and 339 deletions
+2 -5
View File
@@ -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
+2 -5
View File
@@ -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
+2 -2
View File
@@ -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)
+2 -2
View File
@@ -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)
+56
View File
@@ -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
-23
View File
@@ -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
+20 -4
View File
@@ -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
+62
View File
@@ -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
//
+49
View File
@@ -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
+29 -4
View File
@@ -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)