diff --git a/checks/Jamfile.v2 b/checks/Jamfile.v2 index a16bef5cc..b59603642 100644 --- a/checks/Jamfile.v2 +++ b/checks/Jamfile.v2 @@ -1,6 +1,6 @@ # # *** DO NOT EDIT THIS FILE BY HAND *** -# This file was automatically generated on Fri Oct 13 19:09:38 2023 +# This file was automatically generated on Tue Oct 17 19:14:20 2023 # by libs/config/tools/generate.cpp # Copyright John Maddock. # Use, modification and distribution are subject to the @@ -263,6 +263,8 @@ obj cpp_size_t_suffix_23 : std/cpp_size_t_suffix_23.cpp ; alias cpp_size_t_suffix : cpp_size_t_suffix_23 ; obj cpp_static_call_operator_23 : std/cpp_static_call_operator_23.cpp ; alias cpp_static_call_operator : cpp_static_call_operator_23 ; +obj cpp_lib_coroutine_20 : std/cpp_lib_coroutine_20.cpp ; +alias cpp_lib_coroutine : cpp_lib_coroutine_20 ; obj cpp_impl_destroying_delete_20 : std/cpp_impl_destroying_delete_20.cpp ; alias cpp_impl_destroying_delete : cpp_impl_destroying_delete_20 ; obj cpp_lib_destroying_delete_20 : std/cpp_lib_destroying_delete_20.cpp ; @@ -281,6 +283,8 @@ obj cpp_lib_char8_t_20 : std/cpp_lib_char8_t_20.cpp ; alias cpp_lib_char8_t : cpp_lib_char8_t_20 ; obj cpp_lib_concepts_20 : std/cpp_lib_concepts_20.cpp ; alias cpp_lib_concepts : cpp_lib_concepts_20 ; +obj cpp_concepts_20 : std/cpp_concepts_20.cpp ; +alias cpp_concepts : cpp_concepts_20 ; obj cpp_lib_constexpr_swap_algorithms_20 : std/cpp_lib_constexpr_swap_algorithms_20.cpp ; alias cpp_lib_constexpr_swap_algorithms : cpp_lib_constexpr_swap_algorithms_20 ; obj cpp_lib_constexpr_misc_20 : std/cpp_lib_constexpr_misc_20.cpp ; diff --git a/checks/std/cpp_concepts_20.cpp b/checks/std/cpp_concepts_20.cpp new file mode 100644 index 000000000..f47c006ba --- /dev/null +++ b/checks/std/cpp_concepts_20.cpp @@ -0,0 +1,30 @@ +// This file was automatically generated on Tue Oct 17 18:26:45 2023 +// 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$ +// + +#ifdef __has_include +#if __has_include() +#include +#endif +#endif + +#ifndef __cpp_concepts +#error "Macro << __cpp_concepts is not set" +#endif + +#if __cpp_concepts < 201907 +#error "Macro __cpp_concepts had too low a value" +#endif + +int main( int, char *[] ) +{ + return 0; +} + diff --git a/checks/std/cpp_lib_coroutine_20.cpp b/checks/std/cpp_lib_coroutine_20.cpp new file mode 100644 index 000000000..c44410325 --- /dev/null +++ b/checks/std/cpp_lib_coroutine_20.cpp @@ -0,0 +1,32 @@ +// This file was automatically generated on Tue Oct 17 18:26:45 2023 +// 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$ +// + +#ifdef __has_include +#if __has_include() +#include +#endif +#endif + +#include + +#ifndef __cpp_lib_coroutine +#error "Macro << __cpp_lib_coroutine is not set" +#endif + +#if __cpp_lib_coroutine < 201902 +#error "Macro __cpp_lib_coroutine had too low a value" +#endif + +int main( int, char *[] ) +{ + return 0; +} + diff --git a/tools/generate.cpp b/tools/generate.cpp index 01b735970..6e97ac0d9 100644 --- a/tools/generate.cpp +++ b/tools/generate.cpp @@ -437,6 +437,7 @@ void write_std_config_checks() write_std_check("__cpp_size_t_suffix", 202011, "", 23); write_std_check("__cpp_static_call_operator", 202207, "", 23); // C++20 + write_std_check("__cpp_lib_coroutine", 201902, "coroutine", 20); write_std_check("__cpp_impl_destroying_delete", 201806, "", 20); write_std_check("__cpp_lib_destroying_delete", 201806, "new", 20); write_std_check("__cpp_char8_t", 201811, "", 20); @@ -446,6 +447,7 @@ void write_std_config_checks() write_std_check("__cpp_nontype_template_parameter_class", 201806, "", 20); write_std_check("__cpp_lib_char8_t", 201811, "atomic", 20); write_std_check("__cpp_lib_concepts", 201806, "concepts", 20); + write_std_check("__cpp_concepts", 201907, "", 20); write_std_check("__cpp_lib_constexpr_swap_algorithms", 201806, "algorithm", 20); write_std_check("__cpp_lib_constexpr_misc", 201811, "array", 20); write_std_check("__cpp_lib_bind_front", 201811, "functional", 20);