FYI: FreeBSD main's llvm17: c++ feature macro status (what is reported to not match any vintage)

From: Mark Millard <marklmi_at_yahoo.com>
Date: Sat, 09 Dec 2023 22:54:20 UTC
version_dump.cpp is taken from part of the page:

https://en.cppreference.com/w/cpp/feature_test

__cpp_lib_execution is an example of not yet sufficient to have a feature macro yet.
Other information may be available about the detailed status of such things.

(The program does not output the "L" suffix and adds a "-" separator to make year
and month easier to notice compared to the encodings in the actual feature macros.)

From an amd64 context:

# c++ -std=c++26 -pedantic -Wall -Wextra version_dump.cpp
# ./a.out | grep -E '(/|-------)'
C++11 CORE (20/20)
C++14 CORE (8/9)
__cpp_sized_deallocation                      -------  <  2013-09
C++14 LIB (20/20)
C++17 CORE (19/20)
__cpp_template_template_args                  -------  <  2016-11
C++17 LIB (44/49)
__cpp_lib_execution                           -------  <  2016-03
__cpp_lib_hardware_interference_size          -------  <  2017-03
__cpp_lib_math_special_functions              -------  <  2016-03
__cpp_lib_parallel_algorithm                  -------  <  2016-03
__cpp_lib_to_chars                            -------  <  2016-11
C++20 CORE (14/18)
__cpp_modules                                 -------  <  2019-07
C++20 LIB (54/67)
__cpp_lib_atomic_float                        -------  <  2017-11
__cpp_lib_atomic_ref                          -------  <  2018-06
__cpp_lib_atomic_shared_ptr                   -------  <  2017-11
__cpp_lib_execution                           -------  <  2019-02
__cpp_lib_format                              -------  <  2021-10
__cpp_lib_is_layout_compatible                -------  <  2019-07
__cpp_lib_is_pointer_interconvertible         -------  <  2019-07
__cpp_lib_jthread                             -------  <  2019-11
__cpp_lib_smart_ptr_for_overwrite             -------  <  2020-02
__cpp_lib_syncbuf                             -------  <  2018-03
__cpp_lib_three_way_comparison                -------  <  2019-07
C++23 CORE (6/10)
__cpp_auto_cast                               -------  <  2021-10
__cpp_explicit_this_parameter                 -------  <  2021-10
C++23 LIB (21/64)
__cpp_lib_algorithm_iterator_requirements     -------  <  2022-07
__cpp_lib_associative_heterogeneous_erasure   -------  <  2021-10
__cpp_lib_bind_back                           -------  <  2022-02
__cpp_lib_common_reference                    -------  <  2023-02
__cpp_lib_common_reference_wrapper            -------  <  2023-02
__cpp_lib_constexpr_cmath                     -------  <  2022-02
__cpp_lib_containers_ranges                   -------  <  2022-02
__cpp_lib_flat_map                            -------  <  2022-07
__cpp_lib_flat_set                            -------  <  2022-07
__cpp_lib_format                              -------  <  2022-07
__cpp_lib_formatters                          -------  <  2023-02
__cpp_lib_generator                           -------  <  2022-07
__cpp_lib_ios_noreplace                       -------  <  2022-07
__cpp_lib_is_implicit_lifetime                -------  <  2023-02
__cpp_lib_mdspan                              -------  <  2022-07
__cpp_lib_modules                             -------  <  2022-07
__cpp_lib_move_only_function                  -------  <  2021-10
__cpp_lib_out_ptr                             -------  <  2021-06
__cpp_lib_print                               -------  <  2022-07
__cpp_lib_ranges_as_const                     -------  <  2022-07
__cpp_lib_ranges_cartesian_product            -------  <  2022-07
__cpp_lib_ranges_chunk                        -------  <  2022-02
__cpp_lib_ranges_chunk_by                     -------  <  2022-02
__cpp_lib_ranges_contains                     -------  <  2022-07
__cpp_lib_ranges_enumerate                    -------  <  2023-02
__cpp_lib_ranges_find_last                    -------  <  2022-07
__cpp_lib_ranges_fold                         -------  <  2022-07
__cpp_lib_ranges_iota                         -------  <  2022-02
__cpp_lib_ranges_join_with                    -------  <  2022-02
__cpp_lib_ranges_slide                        -------  <  2022-02
__cpp_lib_ranges_starts_ends_with             -------  <  2021-06
__cpp_lib_ranges_stride                       -------  <  2022-07
__cpp_lib_ranges_zip                          -------  <  2021-10
__cpp_lib_reference_from_temporary            -------  <  2022-02
__cpp_lib_spanstream                          -------  <  2021-06
__cpp_lib_stacktrace                          -------  <  2020-11
__cpp_lib_start_lifetime_as                   -------  <  2022-07
__cpp_lib_tuple_like                          -------  <  2022-07
C++26 CORE (2/3)
__cpp_placeholder_variables                   -------  <  2023-06
C++26 LIB (2/39)
__cpp_lib_associative_heterogeneous_insertion -------  <  2023-06
__cpp_lib_bind_back                           -------  <  2023-06
__cpp_lib_bitset                              -------  <  2023-06
__cpp_lib_constexpr_cmath                     -------  <  2023-06
__cpp_lib_copyable_function                   -------  <  2023-06
__cpp_lib_format                              -------  <  2023-06
__cpp_lib_freestanding_char_traits            -------  <  2023-06
__cpp_lib_freestanding_charconv               -------  <  2023-06
__cpp_lib_freestanding_cstdlib                -------  <  2023-06
__cpp_lib_freestanding_cstring                -------  <  2023-06
__cpp_lib_freestanding_cwchar                 -------  <  2023-06
__cpp_lib_freestanding_errc                   -------  <  2023-06
__cpp_lib_freestanding_feature_test_macros    -------  <  2023-06
__cpp_lib_freestanding_functional             -------  <  2023-06
__cpp_lib_freestanding_iterator               -------  <  2023-06
__cpp_lib_freestanding_memory                 -------  <  2023-06
__cpp_lib_freestanding_operator_new           -------  <  2023-06
__cpp_lib_freestanding_ranges                 -------  <  2023-06
__cpp_lib_freestanding_ratio                  -------  <  2023-06
__cpp_lib_freestanding_tuple                  -------  <  2023-06
__cpp_lib_freestanding_utility                -------  <  2023-06
__cpp_lib_fstream_native_handle               -------  <  2023-06
__cpp_lib_function_ref                        -------  <  2023-06
__cpp_lib_hazard_pointer                      -------  <  2023-06
__cpp_lib_is_within_lifetime                  -------  <  2023-06
__cpp_lib_rcu                                 -------  <  2023-06
__cpp_lib_smart_ptr_owner_equality            -------  <  2023-06
__cpp_lib_sstream_from_string_view            -------  <  2023-06
__cpp_lib_submdspan                           -------  <  2023-06
__cpp_lib_text_encoding                       -------  <  2023-06
__cpp_lib_to_chars                            -------  <  2023-06
__cpp_lib_to_string                           -------  <  2023-06
ALL CORE MACROS UP TO C++26 (56/67)
__cpp_auto_cast                               -------  <  2021-10
__cpp_explicit_this_parameter                 -------  <  2021-10
__cpp_modules                                 -------  <  2019-07
__cpp_placeholder_variables                   -------  <  2023-06
__cpp_sized_deallocation                      -------  <  2013-09
__cpp_template_template_args                  -------  <  2016-11
ALL LIB MACROS UP TO C++26 (124/214)
__cpp_lib_algorithm_iterator_requirements     -------  <  2022-07
__cpp_lib_associative_heterogeneous_erasure   -------  <  2021-10
__cpp_lib_associative_heterogeneous_insertion -------  <  2023-06
__cpp_lib_atomic_float                        -------  <  2017-11
__cpp_lib_atomic_ref                          -------  <  2018-06
__cpp_lib_atomic_shared_ptr                   -------  <  2017-11
__cpp_lib_bind_back                           -------  <  2023-06
__cpp_lib_bitset                              -------  <  2023-06
__cpp_lib_common_reference                    -------  <  2023-02
__cpp_lib_common_reference_wrapper            -------  <  2023-02
__cpp_lib_constexpr_cmath                     -------  <  2023-06
__cpp_lib_containers_ranges                   -------  <  2022-02
__cpp_lib_copyable_function                   -------  <  2023-06
__cpp_lib_execution                           -------  <  2019-02
__cpp_lib_flat_map                            -------  <  2022-07
__cpp_lib_flat_set                            -------  <  2022-07
__cpp_lib_format                              -------  <  2023-06
__cpp_lib_formatters                          -------  <  2023-02
__cpp_lib_freestanding_char_traits            -------  <  2023-06
__cpp_lib_freestanding_charconv               -------  <  2023-06
__cpp_lib_freestanding_cstdlib                -------  <  2023-06
__cpp_lib_freestanding_cstring                -------  <  2023-06
__cpp_lib_freestanding_cwchar                 -------  <  2023-06
__cpp_lib_freestanding_errc                   -------  <  2023-06
__cpp_lib_freestanding_feature_test_macros    -------  <  2023-06
__cpp_lib_freestanding_functional             -------  <  2023-06
__cpp_lib_freestanding_iterator               -------  <  2023-06
__cpp_lib_freestanding_memory                 -------  <  2023-06
__cpp_lib_freestanding_operator_new           -------  <  2023-06
__cpp_lib_freestanding_ranges                 -------  <  2023-06
__cpp_lib_freestanding_ratio                  -------  <  2023-06
__cpp_lib_freestanding_tuple                  -------  <  2023-06
__cpp_lib_freestanding_utility                -------  <  2023-06
__cpp_lib_fstream_native_handle               -------  <  2023-06
__cpp_lib_function_ref                        -------  <  2023-06
__cpp_lib_generator                           -------  <  2022-07
__cpp_lib_hardware_interference_size          -------  <  2017-03
__cpp_lib_hazard_pointer                      -------  <  2023-06
__cpp_lib_ios_noreplace                       -------  <  2022-07
__cpp_lib_is_implicit_lifetime                -------  <  2023-02
__cpp_lib_is_layout_compatible                -------  <  2019-07
__cpp_lib_is_pointer_interconvertible         -------  <  2019-07
__cpp_lib_is_within_lifetime                  -------  <  2023-06
__cpp_lib_jthread                             -------  <  2019-11
__cpp_lib_math_special_functions              -------  <  2016-03
__cpp_lib_mdspan                              -------  <  2022-07
__cpp_lib_modules                             -------  <  2022-07
__cpp_lib_move_only_function                  -------  <  2021-10
__cpp_lib_out_ptr                             -------  <  2021-06
__cpp_lib_parallel_algorithm                  -------  <  2016-03
__cpp_lib_print                               -------  <  2022-07
__cpp_lib_ranges_as_const                     -------  <  2022-07
__cpp_lib_ranges_cartesian_product            -------  <  2022-07
__cpp_lib_ranges_chunk                        -------  <  2022-02
__cpp_lib_ranges_chunk_by                     -------  <  2022-02
__cpp_lib_ranges_contains                     -------  <  2022-07
__cpp_lib_ranges_enumerate                    -------  <  2023-02
__cpp_lib_ranges_find_last                    -------  <  2022-07
__cpp_lib_ranges_fold                         -------  <  2022-07
__cpp_lib_ranges_iota                         -------  <  2022-02
__cpp_lib_ranges_join_with                    -------  <  2022-02
__cpp_lib_ranges_slide                        -------  <  2022-02
__cpp_lib_ranges_starts_ends_with             -------  <  2021-06
__cpp_lib_ranges_stride                       -------  <  2022-07
__cpp_lib_ranges_zip                          -------  <  2021-10
__cpp_lib_rcu                                 -------  <  2023-06
__cpp_lib_reference_from_temporary            -------  <  2022-02
__cpp_lib_smart_ptr_for_overwrite             -------  <  2020-02
__cpp_lib_smart_ptr_owner_equality            -------  <  2023-06
__cpp_lib_spanstream                          -------  <  2021-06
__cpp_lib_sstream_from_string_view            -------  <  2023-06
__cpp_lib_stacktrace                          -------  <  2020-11
__cpp_lib_start_lifetime_as                   -------  <  2022-07
__cpp_lib_submdspan                           -------  <  2023-06
__cpp_lib_syncbuf                             -------  <  2018-03
__cpp_lib_text_encoding                       -------  <  2023-06
__cpp_lib_three_way_comparison                -------  <  2019-07
__cpp_lib_to_chars                            -------  <  2023-06
__cpp_lib_to_string                           -------  <  2023-06
__cpp_lib_tuple_like                          -------  <  2022-07
ATTRIBUTES (9/10)
assume                                        -------  <  2022-07

===
Mark Millard
marklmi at yahoo.com