[libcxx-commits] [libcxx] 3f05d04 - [libc++] Update status after Varna meeting.

Mark de Wever via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jun 19 07:55:35 PDT 2023


Author: Mark de Wever
Date: 2023-06-19T16:55:30+02:00
New Revision: 3f05d044f491b97596fdaab7614f81cfb70ba54d

URL: https://github.com/llvm/llvm-project/commit/3f05d044f491b97596fdaab7614f81cfb70ba54d
DIFF: https://github.com/llvm/llvm-project/commit/3f05d044f491b97596fdaab7614f81cfb70ba54d.diff

LOG: [libc++] Update status after Varna meeting.

This updates:
- The status tables
- Feature test macros
- New headers for modules
The latter avoids forgetting about modules when implementing the feature
in a new header.

Reviewed By: #libc, philnik

Differential Revision: https://reviews.llvm.org/D153192

Added: 
    libcxx/modules/std/hazard_pointer.cppm
    libcxx/modules/std/rcu.cppm
    libcxx/modules/std/text_encoding.cppm
    libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
    libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp
    libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp

Modified: 
    libcxx/docs/FeatureTestMacroTable.rst
    libcxx/docs/Status/Cxx2cIssues.csv
    libcxx/docs/Status/Cxx2cPapers.csv
    libcxx/docs/Status/FormatIssues.csv
    libcxx/include/version
    libcxx/modules/CMakeLists.txt
    libcxx/modules/std.cppm
    libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
    libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
    libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
    libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
    libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
    libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp
    libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
    libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
    libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
    libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
    libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    libcxx/utils/generate_feature_test_macro_components.py

Removed: 
    


################################################################################
diff  --git a/libcxx/docs/FeatureTestMacroTable.rst b/libcxx/docs/FeatureTestMacroTable.rst
index f24e210926473..45e580f397756 100644
--- a/libcxx/docs/FeatureTestMacroTable.rst
+++ b/libcxx/docs/FeatureTestMacroTable.rst
@@ -21,359 +21,391 @@ Status
     :name: feature-status-table
     :widths: auto
 
-    ================================================= =================
-    Macro Name                                        Value
-    ================================================= =================
+    =================================================== =================
+    Macro Name                                          Value
+    =================================================== =================
     **C++ 14**
-    -------------------------------------------------------------------
-    ``__cpp_lib_chrono_udls``                         ``201304L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_complex_udls``                        ``201309L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_exchange_function``                   ``201304L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_generic_associative_lookup``          ``201304L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_integer_sequence``                    ``201304L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_integral_constant_callable``          ``201304L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_is_final``                            ``201402L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_is_null_pointer``                     ``201309L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_make_reverse_iterator``               ``201402L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_make_unique``                         ``201304L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_null_iterators``                      ``201304L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_quoted_string_io``                    ``201304L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_result_of_sfinae``                    ``201210L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_robust_nonmodifying_seq_ops``         ``201304L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_shared_timed_mutex``                  ``201402L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_string_udls``                         ``201304L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_transformation_trait_aliases``        ``201304L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_transparent_operators``               ``201210L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_tuple_element_t``                     ``201402L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_tuples_by_type``                      ``201304L``
-    ------------------------------------------------- -----------------
+    ---------------------------------------------------------------------
+    ``__cpp_lib_chrono_udls``                           ``201304L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_complex_udls``                          ``201309L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_exchange_function``                     ``201304L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_generic_associative_lookup``            ``201304L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_integer_sequence``                      ``201304L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_integral_constant_callable``            ``201304L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_is_final``                              ``201402L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_is_null_pointer``                       ``201309L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_make_reverse_iterator``                 ``201402L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_make_unique``                           ``201304L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_null_iterators``                        ``201304L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_quoted_string_io``                      ``201304L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_result_of_sfinae``                      ``201210L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_robust_nonmodifying_seq_ops``           ``201304L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_shared_timed_mutex``                    ``201402L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_string_udls``                           ``201304L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_transformation_trait_aliases``          ``201304L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_transparent_operators``                 ``201210L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_tuple_element_t``                       ``201402L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_tuples_by_type``                        ``201304L``
+    --------------------------------------------------- -----------------
     **C++ 17**
-    -------------------------------------------------------------------
-    ``__cpp_lib_addressof_constexpr``                 ``201603L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_allocator_traits_is_always_equal``    ``201411L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_any``                                 ``201606L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_apply``                               ``201603L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_array_constexpr``                     ``201603L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_as_const``                            ``201510L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_atomic_is_always_lock_free``          ``201603L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_bool_constant``                       ``201505L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_boyer_moore_searcher``                ``201603L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_byte``                                ``201603L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_chrono``                              ``201611L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_clamp``                               ``201603L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_enable_shared_from_this``             ``201603L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_execution``                           *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_filesystem``                          ``201703L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_gcd_lcm``                             ``201606L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_hardware_interference_size``          ``201703L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_has_unique_object_representations``   ``201606L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_hypot``                               ``201603L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_incomplete_container_elements``       ``201505L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_invoke``                              ``201411L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_is_aggregate``                        ``201703L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_is_invocable``                        ``201703L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_is_swappable``                        ``201603L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_launder``                             ``201606L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_logical_traits``                      ``201510L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_make_from_tuple``                     ``201606L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_map_try_emplace``                     ``201411L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_math_special_functions``              *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_memory_resource``                     ``201603L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_node_extract``                        ``201606L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_nonmember_container_access``          ``201411L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_not_fn``                              ``201603L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_optional``                            ``201606L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_parallel_algorithm``                  *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_raw_memory_algorithms``               ``201606L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_sample``                              ``201603L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_scoped_lock``                         ``201703L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_shared_mutex``                        ``201505L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_shared_ptr_arrays``                   ``201611L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_shared_ptr_weak_type``                ``201606L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_string_view``                         ``201606L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_to_chars``                            *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_transparent_operators``               ``201510L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_type_trait_variable_templates``       ``201510L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_uncaught_exceptions``                 ``201411L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_unordered_map_try_emplace``           ``201411L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_variant``                             ``202102L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_void_t``                              ``201411L``
-    ------------------------------------------------- -----------------
+    ---------------------------------------------------------------------
+    ``__cpp_lib_addressof_constexpr``                   ``201603L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_allocator_traits_is_always_equal``      ``201411L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_any``                                   ``201606L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_apply``                                 ``201603L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_array_constexpr``                       ``201603L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_as_const``                              ``201510L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_atomic_is_always_lock_free``            ``201603L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_bool_constant``                         ``201505L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_boyer_moore_searcher``                  ``201603L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_byte``                                  ``201603L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_chrono``                                ``201611L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_clamp``                                 ``201603L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_enable_shared_from_this``               ``201603L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_execution``                             *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_filesystem``                            ``201703L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_gcd_lcm``                               ``201606L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_hardware_interference_size``            ``201703L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_has_unique_object_representations``     ``201606L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_hypot``                                 ``201603L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_incomplete_container_elements``         ``201505L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_invoke``                                ``201411L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_is_aggregate``                          ``201703L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_is_invocable``                          ``201703L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_is_swappable``                          ``201603L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_launder``                               ``201606L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_logical_traits``                        ``201510L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_make_from_tuple``                       ``201606L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_map_try_emplace``                       ``201411L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_math_special_functions``                *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_memory_resource``                       ``201603L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_node_extract``                          ``201606L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_nonmember_container_access``            ``201411L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_not_fn``                                ``201603L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_optional``                              ``201606L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_parallel_algorithm``                    *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_raw_memory_algorithms``                 ``201606L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_sample``                                ``201603L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_scoped_lock``                           ``201703L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_shared_mutex``                          ``201505L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_shared_ptr_arrays``                     ``201611L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_shared_ptr_weak_type``                  ``201606L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_string_view``                           ``201606L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_to_chars``                              *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_transparent_operators``                 ``201510L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_type_trait_variable_templates``         ``201510L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_uncaught_exceptions``                   ``201411L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_unordered_map_try_emplace``             ``201411L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_variant``                               ``202102L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_void_t``                                ``201411L``
+    --------------------------------------------------- -----------------
     **C++ 20**
-    -------------------------------------------------------------------
-    ``__cpp_lib_array_constexpr``                     ``201811L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_assume_aligned``                      ``201811L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_atomic_flag_test``                    ``201907L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_atomic_float``                        *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_atomic_lock_free_type_aliases``       ``201907L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_atomic_ref``                          *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_atomic_shared_ptr``                   *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_atomic_value_initialization``         ``201911L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_atomic_wait``                         ``201907L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_barrier``                             ``201907L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_bind_front``                          ``201907L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_bit_cast``                            ``201806L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_bitops``                              *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_bounded_array_traits``                ``201902L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_char8_t``                             ``201907L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_concepts``                            ``202002L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_constexpr_algorithms``                ``201806L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_constexpr_complex``                   ``201711L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_constexpr_dynamic_alloc``             ``201907L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_constexpr_functional``                ``201907L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_constexpr_iterator``                  ``201811L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_constexpr_memory``                    ``201811L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_constexpr_numeric``                   ``201911L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_constexpr_string``                    ``201907L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_constexpr_string_view``               ``201811L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_constexpr_tuple``                     ``201811L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_constexpr_utility``                   ``201811L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_constexpr_vector``                    ``201907L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_coroutine``                           ``201902L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_destroying_delete``                   ``201806L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_endian``                              ``201907L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_erase_if``                            ``202002L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_execution``                           *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_format``                              *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_generic_unordered_lookup``            ``201811L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_int_pow2``                            ``202002L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_integer_comparison_functions``        ``202002L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_interpolate``                         ``201902L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_is_constant_evaluated``               ``201811L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_is_layout_compatible``                *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_is_nothrow_convertible``              ``201806L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_is_pointer_interconvertible``         *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_jthread``                             *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_latch``                               ``201907L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_list_remove_return_type``             ``201806L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_math_constants``                      ``201907L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_move_iterator_concept``               ``202207L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_polymorphic_allocator``               ``201902L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_ranges``                              ``202106L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_remove_cvref``                        ``201711L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_semaphore``                           ``201907L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_shared_ptr_arrays``                   ``201707L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_shift``                               ``201806L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_smart_ptr_for_overwrite``             *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_source_location``                     ``201907L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_span``                                ``202002L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_ssize``                               ``201902L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_starts_ends_with``                    ``201711L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_string_view``                         ``201803L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_syncbuf``                             *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_three_way_comparison``                *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_to_address``                          ``201711L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_to_array``                            ``201907L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_type_identity``                       ``201806L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_unwrap_ref``                          ``201811L``
-    ------------------------------------------------- -----------------
+    ---------------------------------------------------------------------
+    ``__cpp_lib_array_constexpr``                       ``201811L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_assume_aligned``                        ``201811L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_atomic_flag_test``                      ``201907L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_atomic_float``                          *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_atomic_lock_free_type_aliases``         ``201907L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_atomic_ref``                            *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_atomic_shared_ptr``                     *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_atomic_value_initialization``           ``201911L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_atomic_wait``                           ``201907L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_barrier``                               ``201907L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_bind_front``                            ``201907L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_bit_cast``                              ``201806L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_bitops``                                *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_bounded_array_traits``                  ``201902L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_char8_t``                               ``201907L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_concepts``                              ``202002L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_constexpr_algorithms``                  ``201806L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_constexpr_complex``                     ``201711L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_constexpr_dynamic_alloc``               ``201907L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_constexpr_functional``                  ``201907L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_constexpr_iterator``                    ``201811L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_constexpr_memory``                      ``201811L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_constexpr_numeric``                     ``201911L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_constexpr_string``                      ``201907L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_constexpr_string_view``                 ``201811L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_constexpr_tuple``                       ``201811L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_constexpr_utility``                     ``201811L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_constexpr_vector``                      ``201907L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_coroutine``                             ``201902L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_destroying_delete``                     ``201806L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_endian``                                ``201907L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_erase_if``                              ``202002L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_execution``                             *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_format``                                *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_generic_unordered_lookup``              ``201811L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_int_pow2``                              ``202002L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_integer_comparison_functions``          ``202002L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_interpolate``                           ``201902L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_is_constant_evaluated``                 ``201811L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_is_layout_compatible``                  *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_is_nothrow_convertible``                ``201806L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_is_pointer_interconvertible``           *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_jthread``                               *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_latch``                                 ``201907L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_list_remove_return_type``               ``201806L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_math_constants``                        ``201907L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_move_iterator_concept``                 ``202207L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_polymorphic_allocator``                 ``201902L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_ranges``                                ``202106L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_remove_cvref``                          ``201711L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_semaphore``                             ``201907L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_shared_ptr_arrays``                     ``201707L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_shift``                                 ``201806L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_smart_ptr_for_overwrite``               *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_source_location``                       ``201907L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_span``                                  ``202002L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_ssize``                                 ``201902L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_starts_ends_with``                      ``201711L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_string_view``                           ``201803L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_syncbuf``                               *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_three_way_comparison``                  *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_to_address``                            ``201711L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_to_array``                              ``201907L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_type_identity``                         ``201806L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_unwrap_ref``                            ``201811L``
+    --------------------------------------------------- -----------------
     **C++ 23**
-    -------------------------------------------------------------------
-    ``__cpp_lib_adaptor_iterator_pair_constructor``   ``202106L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_allocate_at_least``                   ``202106L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_associative_heterogeneous_erasure``   *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_bind_back``                           *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_byteswap``                            ``202110L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_constexpr_bitset``                    ``202207L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_constexpr_charconv``                  ``202207L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_constexpr_cmath``                     *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_constexpr_memory``                    ``202202L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_constexpr_typeinfo``                  ``202106L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_expected``                            ``202211L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_format_ranges``                       ``202207L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_formatters``                          *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_forward_like``                        ``202207L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_invoke_r``                            ``202106L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_is_scoped_enum``                      ``202011L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_mdspan``                              *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_move_only_function``                  *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_optional``                            ``202110L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_out_ptr``                             *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_ranges_as_rvalue``                    ``202207L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_ranges_chunk``                        *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_ranges_chunk_by``                     *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_ranges_iota``                         *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_ranges_join_with``                    *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_ranges_slide``                        *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_ranges_starts_ends_with``             *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_ranges_to_container``                 *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_ranges_zip``                          *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_reference_from_temporary``            *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_spanstream``                          *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_stacktrace``                          *unimplemented*
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_stdatomic_h``                         ``202011L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_string_contains``                     ``202011L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_string_resize_and_overwrite``         ``202110L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_to_underlying``                       ``202102L``
-    ------------------------------------------------- -----------------
-    ``__cpp_lib_unreachable``                         ``202202L``
-    ------------------------------------------------- -----------------
+    ---------------------------------------------------------------------
+    ``__cpp_lib_adaptor_iterator_pair_constructor``     ``202106L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_allocate_at_least``                     ``202106L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_associative_heterogeneous_erasure``     *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_bind_back``                             *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_byteswap``                              ``202110L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_constexpr_bitset``                      ``202207L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_constexpr_charconv``                    ``202207L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_constexpr_cmath``                       *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_constexpr_memory``                      ``202202L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_constexpr_typeinfo``                    ``202106L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_expected``                              ``202211L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_format_ranges``                         ``202207L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_formatters``                            *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_forward_like``                          ``202207L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_invoke_r``                              ``202106L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_is_scoped_enum``                        ``202011L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_mdspan``                                *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_move_only_function``                    *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_optional``                              ``202110L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_out_ptr``                               *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_ranges_as_rvalue``                      ``202207L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_ranges_chunk``                          *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_ranges_chunk_by``                       *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_ranges_iota``                           *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_ranges_join_with``                      *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_ranges_slide``                          *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_ranges_starts_ends_with``               *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_ranges_to_container``                   *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_ranges_zip``                            *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_reference_from_temporary``              *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_spanstream``                            *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_stacktrace``                            *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_stdatomic_h``                           ``202011L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_string_contains``                       ``202011L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_string_resize_and_overwrite``           ``202110L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_to_string``                             *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_to_underlying``                         ``202102L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_unreachable``                           ``202202L``
+    --------------------------------------------------- -----------------
     **C++ 26**
-    ===================================================================
+    ---------------------------------------------------------------------
+    ``__cpp_lib_associative_heterogeneous_insertion``   *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_bind_back``                             *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_bind_front``                            ``202306L``
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_bitset``                                *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_copyable_function``                     *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_fstream_native_handle``                 *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_function_ref``                          *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_hazard_pointer``                        *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_ratio``                                 *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_rcu``                                   *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_smart_ptr_owner_equality``              *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_sstream_from_string_view``              *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_submdspan``                             *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_text_encoding``                         *unimplemented*
+    --------------------------------------------------- -----------------
+    ``__cpp_lib_within_lifetime``                       *unimplemented*
+    =================================================== =================
 

diff  --git a/libcxx/docs/Status/Cxx2cIssues.csv b/libcxx/docs/Status/Cxx2cIssues.csv
index b1d423e127f26..00da9135e0aae 100644
--- a/libcxx/docs/Status/Cxx2cIssues.csv
+++ b/libcxx/docs/Status/Cxx2cIssues.csv
@@ -1,5 +1,22 @@
 "Issue #","Issue Name","Meeting","Status","First released version","Labels"
+"`2994 <https://wg21.link/LWG2994>`__","Needless UB for ``basic_string`` and ``basic_string_view``","Varna June 2023","","",""
+"`3884 <https://wg21.link/LWG3884>`__","``flat_foo`` is missing allocator-extended copy/move constructors","Varna June 2023","","","|flat_containers|"
+"`3885 <https://wg21.link/LWG3885>`__","``op`` should be in [zombie.names]","Varna June 2023","","",""
+"`3887 <https://wg21.link/LWG3887>`__","Version macro for ``allocate_at_least``","Varna June 2023","","",""
+"`3893 <https://wg21.link/LWG3893>`__","LWG 3661 broke ``atomic<shared_ptr<T>> a; a = nullptr;``","Varna June 2023","","",""
+"`3894 <https://wg21.link/LWG3894>`__","``generator::promise_type::yield_value(ranges::elements_of<Rng, Alloc>)`` should not be ``noexcept``","Varna June 2023","","",""
+"`3903 <https://wg21.link/LWG3903>`__","span destructor is redundantly noexcept","Varna June 2023","","",""
+"`3904 <https://wg21.link/LWG3904>`__","``lazy_split_view::outer-iterator``'s const-converting constructor isn't setting ``trailing_empty_``","Varna June 2023","","","|ranges|"
+"`3905 <https://wg21.link/LWG3905>`__","Type of ``std::fexcept_t``","Varna June 2023","","",""
+"`3912 <https://wg21.link/LWG3912>`__","``enumerate_view::iterator::operator-`` should be ``noexcept``","Varna June 2023","","","|ranges|"
+"`3914 <https://wg21.link/LWG3914>`__","Inconsistent template-head of ``ranges::enumerate_view``","Varna June 2023","","","|ranges|"
+"`3915 <https://wg21.link/LWG3915>`__","Redundant paragraph about expression variations","Varna June 2023","","","|ranges|"
+"`3925 <https://wg21.link/LWG3925>`__","Concept ``formattable``'s definition is incorrect","Varna June 2023","|In Progress|","","|format|"
+"`3927 <https://wg21.link/LWG3927>`__","Unclear preconditions for ``operator[]`` for sequence containers","Varna June 2023","","",""
+"`3935 <https://wg21.link/LWG3935>`__","``template<class X> constexpr complex& operator=(const complex<X>&)`` has no specification","Varna June 2023","","",""
+"`3938 <https://wg21.link/LWG3938>`__","Cannot use ``std::expected`` monadic ops with move-only ``error_type``","Varna June 2023","","",""
+"`3940 <https://wg21.link/LWG3940>`__","``std::expected<void, E>::value()`` also needs ``E`` to be copy constructible","Varna June 2023","","",""
 "","","","","",""
 "`3343 <https://wg21.link/LWG3343>`__","Ordering of calls to ``unlock()`` and ``notify_all()`` in Effects element of ``notify_all_at_thread_exit()`` should be reversed","Not Yet Adopted","|Complete|","16.0",""
-"`3892 <https://wg21.link/LWG3892>`__","Incorrect formatting of nested ranges and tuples","Not Yet Adopted","|Complete|","17.0",""
+"`3892 <https://wg21.link/LWG3892>`__","Incorrect formatting of nested ranges and tuples","Not Yet Adopted","|Complete|","17.0","|format|"
 "","","","","",""

diff  --git a/libcxx/docs/Status/Cxx2cPapers.csv b/libcxx/docs/Status/Cxx2cPapers.csv
index 8b6942024d865..494e70f22a356 100644
--- a/libcxx/docs/Status/Cxx2cPapers.csv
+++ b/libcxx/docs/Status/Cxx2cPapers.csv
@@ -1,2 +1,29 @@
 "Paper #","Group","Paper Name","Meeting","Status","First released version","Labels"
+"`P2497R0 <https://wg21.link/P2497R0>`__","LWG","Testing for success or failure of ``<charconv>`` functions","Varna June 2023","","",""
+"`P2592R3 <https://wg21.link/P2592R3>`__","LWG","Hashing support for ``std::chrono`` value classes","Varna June 2023","","",""
+"`P2587R3 <https://wg21.link/P2587R3>`__","LWG","``to_string`` or not ``to_string``","Varna June 2023","","","|format|"
+"`P2562R1 <https://wg21.link/P2562R1>`__","LWG","``constexpr`` Stable Sorting","Varna June 2023","","",""
+"`P2545R4 <https://wg21.link/P2545R4>`__","LWG","Read-Copy Update (RCU)","Varna June 2023","","",""
+"`P2530R3 <https://wg21.link/P2530R3>`__","LWG","Hazard Pointers for C++26","Varna June 2023","","",""
+"`P2538R1 <https://wg21.link/P2538R1>`__","LWG","ADL-proof ``std::projected``","Varna June 2023","","","|ranges|"
+"`P2495R3 <https://wg21.link/P2495R3>`__","LWG","Interfacing ``stringstreams`` with ``string_view``","Varna June 2023","","",""
+"`P2510R3 <https://wg21.link/P2510R3>`__","LWG","Formatting pointers","Varna June 2023","|In Progress|","","|format|"
+"`P2198R7 <https://wg21.link/P2198R7>`__","LWG","Freestanding Feature-Test Macros and Implementation-Defined Extensions","Varna June 2023","","",""
+"`P2338R4 <https://wg21.link/P2338R4>`__","LWG","Freestanding Library: Character primitives and the C library","Varna June 2023","","",""
+"`P2013R5 <https://wg21.link/P2013R5>`__","LWG","Freestanding Language: Optional ``::operator new``","Varna June 2023","","",""
+"`P2363R5 <https://wg21.link/P2363R5>`__","LWG","Extending associative containers with the remaining heterogeneous overloads","Varna June 2023","","",""
+"`P1901R2 <https://wg21.link/P1901R2>`__","LWG","Enabling the Use of ``weak_ptr`` as Keys in Unordered Associative Containers","Varna June 2023","","",""
+"`P1885R12 <https://wg21.link/P1885R12>`__","LWG","Naming Text Encodings to Demystify Them","Varna June 2023","","",""
+"`P0792R14 <https://wg21.link/P0792R14>`__","LWG","``function_ref``: a type-erased callable reference","Varna June 2023","","",""
+"`P2874R2 <https://wg21.link/P2874R2>`__","LWG","Mandating Annex D Require No More","Varna June 2023","","",""
+"`P2757R3 <https://wg21.link/P2757R3>`__","LWG","Type-checking format args","Varna June 2023","","","|format|"
+"`P2637R3 <https://wg21.link/P2637R3>`__","LWG","Member ``visit``","Varna June 2023","","","|format|"
+"`P2641R4 <https://wg21.link/P2641R4>`__","CWG, LWG","Checking if a ``union`` alternative is active","Varna June 2023","","",""
+"`P1759R6 <https://wg21.link/P1759R6>`__","LWG","Native handles and file streams","Varna June 2023","","",""
+"`P2697R1 <https://wg21.link/P2697R1>`__","LWG","Interfacing ``bitset`` with ``string_view``","Varna June 2023","","",""
+"`P1383R2 <https://wg21.link/P1383R2>`__","LWG","More ``constexpr`` for ``<cmath>`` and ``<complex>``","Varna June 2023","","",""
+"`P2734R0 <https://wg21.link/P2734R0>`__","LWG","Adding the new SI prefixes","Varna June 2023","","",""
+"`P2548R6 <https://wg21.link/P2548R6>`__","LWG","``copyable_function``","Varna June 2023","","",""
+"`P2714R1 <https://wg21.link/P2714R1>`__","LWG","Bind front and back to NTTP callables","Varna June 2023","","",""
+"`P2630R4 <https://wg21.link/P2630R4>`__","LWG","``submdspan``","Varna June 2023","","",""
 "","","","","","",""

diff  --git a/libcxx/docs/Status/FormatIssues.csv b/libcxx/docs/Status/FormatIssues.csv
index 20a0be7fc7bb2..0ac1fa6108750 100644
--- a/libcxx/docs/Status/FormatIssues.csv
+++ b/libcxx/docs/Status/FormatIssues.csv
@@ -14,6 +14,9 @@ Number,Name,Standard,Assignee,Status,First released version
 "`P2675R1 <https://wg21.link/P2675R1>`__","``format``'s width estimation is too approximate and not forward compatible","C++23","Mark de Wever","|Complete|", Clang 17
 "`P2572R1 <https://wg21.link/P2572R1>`__","``std::format`` fill character allowances","C++23","Mark de Wever","|Complete|", Clang 17
 "`P2693R1 <https://wg21.link/P2693R1>`__","Formatting ``thread::id`` and ``stacktrace``","C++23","Mark de Wever","|In progress|"
+"`P2510R3 <https://wg21.link/P2510R3>`__","Formatting pointers","C++26","Mark de Wever","|In Progress|",
+"`P2757R3 <https://wg21.link/P2757R3>`__","Type-checking format args","C++26","","",
+"`P2637R3 <https://wg21.link/P2637R3>`__","Member ``visit``","C++26","","",
 `P1361 <https://wg21.link/P1361>`_,"Integration of chrono with text formatting","C++20",Mark de Wever,|In Progress|,
 `P2372 <https://wg21.link/P2372>`__,"Fixing locale handling in chrono formatters","C++20",Mark de Wever,|In Progress|,
 "`P2419R2 <https://wg21.link/P2419R2>`__","Clarify handling of encodings in localized formatting of chrono types","C++23",

diff  --git a/libcxx/include/version b/libcxx/include/version
index a1525397b988a..5f69eff42b0a1 100644
--- a/libcxx/include/version
+++ b/libcxx/include/version
@@ -28,6 +28,8 @@ __cpp_lib_array_constexpr                               201811L <array> <iterato
 __cpp_lib_as_const                                      201510L <utility>
 __cpp_lib_associative_heterogeneous_erasure             202110L <map> <set> <unordered_map>
                                                                 <unordered_set>
+__cpp_lib_associative_heterogeneous_insertion           202306L <map> <set> <unordered_map>
+                                                                <unordered_set>
 __cpp_lib_assume_aligned                                201811L <memory>
 __cpp_lib_atomic_flag_test                              201907L <atomic>
 __cpp_lib_atomic_float                                  201711L <atomic>
@@ -38,10 +40,13 @@ __cpp_lib_atomic_shared_ptr                             201711L <atomic>
 __cpp_lib_atomic_value_initialization                   201911L <atomic> <memory>
 __cpp_lib_atomic_wait                                   201907L <atomic>
 __cpp_lib_barrier                                       201907L <barrier>
-__cpp_lib_bind_back                                     202202L <functional>
-__cpp_lib_bind_front                                    201907L <functional>
+__cpp_lib_bind_back                                     202306L <functional>
+                                                        202202L // C++23
+__cpp_lib_bind_front                                    202306L <functional>
+                                                        201907L // C++20
 __cpp_lib_bit_cast                                      201806L <bit>
 __cpp_lib_bitops                                        201907L <bit>
+__cpp_lib_bitset                                        202306L <bitset>
 __cpp_lib_bool_constant                                 201505L <type_traits>
 __cpp_lib_bounded_array_traits                          201902L <type_traits>
 __cpp_lib_boyer_moore_searcher                          201603L <functional>
@@ -72,6 +77,7 @@ __cpp_lib_constexpr_tuple                               201811L <tuple>
 __cpp_lib_constexpr_typeinfo                            202106L <typeinfo>
 __cpp_lib_constexpr_utility                             201811L <utility>
 __cpp_lib_constexpr_vector                              201907L <vector>
+__cpp_lib_copyable_function                             202306L <functional>
 __cpp_lib_coroutine                                     201902L <coroutine>
 __cpp_lib_destroying_delete                             201806L <new>
 __cpp_lib_enable_shared_from_this                       201603L <memory>
@@ -88,11 +94,14 @@ __cpp_lib_format                                        202106L <format>
 __cpp_lib_format_ranges                                 202207L <format>
 __cpp_lib_formatters                                    202302L <stacktrace> <thread>
 __cpp_lib_forward_like                                  202207L <utility>
+__cpp_lib_fstream_native_handle                         202306L <fstream>
+__cpp_lib_function_ref                                  202306L <functional>
 __cpp_lib_gcd_lcm                                       201606L <numeric>
 __cpp_lib_generic_associative_lookup                    201304L <map> <set>
 __cpp_lib_generic_unordered_lookup                      201811L <unordered_map> <unordered_set>
 __cpp_lib_hardware_interference_size                    201703L <new>
 __cpp_lib_has_unique_object_representations             201606L <type_traits>
+__cpp_lib_hazard_pointer                                202306L <hazard_pointer>
 __cpp_lib_hypot                                         201603L <cmath>
 __cpp_lib_incomplete_container_elements                 201505L <forward_list> <list> <vector>
 __cpp_lib_int_pow2                                      202002L <bit>
@@ -155,7 +164,9 @@ __cpp_lib_ranges_to_container                           202202L <deque> <forward
                                                                 <set> <stack> <string>
                                                                 <unordered_map> <unordered_set> <vector>
 __cpp_lib_ranges_zip                                    202110L <ranges> <tuple> <utility>
+__cpp_lib_ratio                                         202306L <ratio>
 __cpp_lib_raw_memory_algorithms                         201606L <memory>
+__cpp_lib_rcu                                           202306L <rcu>
 __cpp_lib_reference_from_temporary                      202202L <type_traits>
 __cpp_lib_remove_cvref                                  201711L <type_traits>
 __cpp_lib_result_of_sfinae                              201210L <functional> <type_traits>
@@ -170,10 +181,12 @@ __cpp_lib_shared_ptr_weak_type                          201606L <memory>
 __cpp_lib_shared_timed_mutex                            201402L <shared_mutex>
 __cpp_lib_shift                                         201806L <algorithm>
 __cpp_lib_smart_ptr_for_overwrite                       202002L <memory>
+__cpp_lib_smart_ptr_owner_equality                      202306L <memory>
 __cpp_lib_source_location                               201907L <source_location>
 __cpp_lib_span                                          202002L <span>
 __cpp_lib_spanstream                                    202106L <spanstream>
 __cpp_lib_ssize                                         201902L <iterator>
+__cpp_lib_sstream_from_string_view                      202306L <sstream>
 __cpp_lib_stacktrace                                    202011L <stacktrace>
 __cpp_lib_starts_ends_with                              201711L <string> <string_view>
 __cpp_lib_stdatomic_h                                   202011L <stdatomic.h>
@@ -182,11 +195,14 @@ __cpp_lib_string_resize_and_overwrite                   202110L <string>
 __cpp_lib_string_udls                                   201304L <string>
 __cpp_lib_string_view                                   201803L <string> <string_view>
                                                         201606L // C++17
+__cpp_lib_submdspan                                     202306L <mdspan>
 __cpp_lib_syncbuf                                       201803L <syncstream>
+__cpp_lib_text_encoding                                 202306L <text_encoding>
 __cpp_lib_three_way_comparison                          201907L <compare>
 __cpp_lib_to_address                                    201711L <memory>
 __cpp_lib_to_array                                      201907L <array>
 __cpp_lib_to_chars                                      201611L <charconv>
+__cpp_lib_to_string                                     202306L <string>
 __cpp_lib_to_underlying                                 202102L <utility>
 __cpp_lib_transformation_trait_aliases                  201304L <type_traits>
 __cpp_lib_transparent_operators                         201510L <functional> <memory>
@@ -201,6 +217,7 @@ __cpp_lib_unreachable                                   202202L <utility>
 __cpp_lib_unwrap_ref                                    201811L <functional>
 __cpp_lib_variant                                       202102L <variant>
 __cpp_lib_void_t                                        201411L <type_traits>
+__cpp_lib_within_lifetime                               202306L <type_traits>
 
 */
 
@@ -423,12 +440,29 @@ __cpp_lib_void_t                                        201411L <type_traits>
 # define __cpp_lib_stdatomic_h                          202011L
 # define __cpp_lib_string_contains                      202011L
 # define __cpp_lib_string_resize_and_overwrite          202110L
+// # define __cpp_lib_to_string                            202306L
 # define __cpp_lib_to_underlying                        202102L
 # define __cpp_lib_unreachable                          202202L
 #endif
 
 #if _LIBCPP_STD_VER >= 26
-
+// # define __cpp_lib_associative_heterogeneous_insertion  202306L
+# undef  __cpp_lib_bind_back
+// # define __cpp_lib_bind_back                            202306L
+# undef  __cpp_lib_bind_front
+# define __cpp_lib_bind_front                           202306L
+// # define __cpp_lib_bitset                               202306L
+// # define __cpp_lib_copyable_function                    202306L
+// # define __cpp_lib_fstream_native_handle                202306L
+// # define __cpp_lib_function_ref                         202306L
+// # define __cpp_lib_hazard_pointer                       202306L
+// # define __cpp_lib_ratio                                202306L
+// # define __cpp_lib_rcu                                  202306L
+// # define __cpp_lib_smart_ptr_owner_equality             202306L
+// # define __cpp_lib_sstream_from_string_view             202306L
+// # define __cpp_lib_submdspan                            202306L
+// # define __cpp_lib_text_encoding                        202306L
+// # define __cpp_lib_within_lifetime                      202306L
 #endif
 
 // clang-format on

diff  --git a/libcxx/modules/CMakeLists.txt b/libcxx/modules/CMakeLists.txt
index 0070780a65dd1..d24ddb0efc7fa 100644
--- a/libcxx/modules/CMakeLists.txt
+++ b/libcxx/modules/CMakeLists.txt
@@ -56,6 +56,7 @@ set(LIBCXX_SOURCES_MODULE_STD
   std/functional.cppm
   std/future.cppm
   std/generator.cppm
+  std/hazard_pointer.cppm
   std/initializer_list.cppm
   std/iomanip.cppm
   std/ios.cppm
@@ -83,6 +84,7 @@ set(LIBCXX_SOURCES_MODULE_STD
   std/random.cppm
   std/ranges.cppm
   std/ratio.cppm
+  std/rcu.cppm
   std/regex.cppm
   std/scoped_allocator.cppm
   std/semaphore.cppm
@@ -104,6 +106,7 @@ set(LIBCXX_SOURCES_MODULE_STD
   std/strstream.cppm
   std/syncstream.cppm
   std/system_error.cppm
+  std/text_encoding.cppm
   std/thread.cppm
   std/tuple.cppm
   std/type_traits.cppm

diff  --git a/libcxx/modules/std.cppm b/libcxx/modules/std.cppm
index d01e167169e53..fcd7d55bbed0a 100644
--- a/libcxx/modules/std.cppm
+++ b/libcxx/modules/std.cppm
@@ -61,6 +61,7 @@ export import :fstream;
 export import :functional;
 export import :future;
 export import :generator;
+export import :hazard_pointer;
 export import :initializer_list;
 export import :iomanip;
 export import :ios;
@@ -86,6 +87,7 @@ export import :queue;
 export import :random;
 export import :ranges;
 export import :ratio;
+export import :rcu;
 export import :regex;
 export import :scoped_allocator;
 export import :semaphore;
@@ -106,6 +108,7 @@ export import :string_view;
 export import :strstream;
 export import :syncstream;
 export import :system_error;
+export import :text_encoding;
 export import :thread;
 export import :tuple;
 export import :type_traits;

diff  --git a/libcxx/modules/std/hazard_pointer.cppm b/libcxx/modules/std/hazard_pointer.cppm
new file mode 100644
index 0000000000000..84b83f55b31fb
--- /dev/null
+++ b/libcxx/modules/std/hazard_pointer.cppm
@@ -0,0 +1,30 @@
+// -*- C++ -*-
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+module;
+#if __has_include(<hazard_pointer>)
+#  error "include this header unconditionally and uncomment the exported symbols"
+#  include <hazard_pointer>
+#endif
+
+export module std:hazard_pointer;
+export namespace std {
+#if 0
+#  if _LIBCPP_STD_VER >= 23
+  // 4.1.3, class template hazard_pointer_obj_base
+  using std::hazard_pointer_obj_base;
+  // 4.1.4, class hazard_pointer
+  using std::hazard_pointer;
+  // 4.1.5, Construct non-empty hazard_pointer
+  using std::make_hazard_pointer;
+  // 4.1.6, Hazard pointer swap
+  using std::swap;
+#  endif // _LIBCPP_STD_VER >= 23
+#endif
+} // namespace std

diff  --git a/libcxx/modules/std/rcu.cppm b/libcxx/modules/std/rcu.cppm
new file mode 100644
index 0000000000000..fb5e5e1a5066a
--- /dev/null
+++ b/libcxx/modules/std/rcu.cppm
@@ -0,0 +1,29 @@
+// -*- C++ -*-
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+module;
+#if __has_include(<rcu>)
+#  error "include this header unconditionally and uncomment the exported symbols"
+#  include <rcu>
+#endif
+
+export module std:rcu;
+export namespace std {
+#if 0
+#  if _LIBCPP_STD_VER >= 23
+  // 2.2.3, class template rcu_obj_base using std::rcu_obj_base;
+  // 2.2.4, class rcu_domain
+  using std::rcu_domain;
+  using std::rcu_default_domain();
+  using std::rcu_barrier;
+  using std::rcu_retire;
+  using std::rcu_synchronize;
+#  endif // _LIBCPP_STD_VER >= 23
+#endif
+} // namespace std

diff  --git a/libcxx/modules/std/text_encoding.cppm b/libcxx/modules/std/text_encoding.cppm
new file mode 100644
index 0000000000000..dcbaa734a6856
--- /dev/null
+++ b/libcxx/modules/std/text_encoding.cppm
@@ -0,0 +1,26 @@
+// -*- C++ -*-
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+module;
+#if __has_include(<text_encoding>)
+#  error "include this header unconditionally and uncomment the exported symbols"
+#  include <text_encoding>
+#endif
+
+export module std:text_encoding;
+export namespace std {
+#if 0
+#  if _LIBCPP_STD_VER >= 23
+  using std::text_encoding;
+
+  // hash support
+  using std::hash;
+#  endif // _LIBCPP_STD_VER >= 23
+#endif
+} // namespace std

diff  --git a/libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
index bd1f5feddac0d..e850479d99e1c 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
@@ -16,6 +16,7 @@
 // Test the feature test macros defined by <bitset>
 
 /*  Constant                      Value
+    __cpp_lib_bitset              202306L [C++26]
     __cpp_lib_constexpr_bitset    202207L [C++23]
 */
 
@@ -24,30 +25,50 @@
 
 #if TEST_STD_VER < 14
 
+# ifdef __cpp_lib_bitset
+#   error "__cpp_lib_bitset should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_constexpr_bitset
 #   error "__cpp_lib_constexpr_bitset should not be defined before c++23"
 # endif
 
 #elif TEST_STD_VER == 14
 
+# ifdef __cpp_lib_bitset
+#   error "__cpp_lib_bitset should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_constexpr_bitset
 #   error "__cpp_lib_constexpr_bitset should not be defined before c++23"
 # endif
 
 #elif TEST_STD_VER == 17
 
+# ifdef __cpp_lib_bitset
+#   error "__cpp_lib_bitset should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_constexpr_bitset
 #   error "__cpp_lib_constexpr_bitset should not be defined before c++23"
 # endif
 
 #elif TEST_STD_VER == 20
 
+# ifdef __cpp_lib_bitset
+#   error "__cpp_lib_bitset should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_constexpr_bitset
 #   error "__cpp_lib_constexpr_bitset should not be defined before c++23"
 # endif
 
 #elif TEST_STD_VER == 23
 
+# ifdef __cpp_lib_bitset
+#   error "__cpp_lib_bitset should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_constexpr_bitset
 #   error "__cpp_lib_constexpr_bitset should be defined in c++23"
 # endif
@@ -57,6 +78,19 @@
 
 #elif TEST_STD_VER > 23
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_bitset
+#     error "__cpp_lib_bitset should be defined in c++26"
+#   endif
+#   if __cpp_lib_bitset != 202306L
+#     error "__cpp_lib_bitset should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_bitset
+#     error "__cpp_lib_bitset should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # ifndef __cpp_lib_constexpr_bitset
 #   error "__cpp_lib_constexpr_bitset should be defined in c++26"
 # endif

diff  --git a/libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
new file mode 100644
index 0000000000000..981f5420ff7e0
--- /dev/null
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
@@ -0,0 +1,73 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+// WARNING: This test was generated by generate_feature_test_macro_components.py
+// and should not be edited manually.
+//
+// clang-format off
+
+// UNSUPPORTED: no-localization
+
+// <fstream>
+
+// Test the feature test macros defined by <fstream>
+
+/*  Constant                           Value
+    __cpp_lib_fstream_native_handle    202306L [C++26]
+*/
+
+#include <fstream>
+#include "test_macros.h"
+
+#if TEST_STD_VER < 14
+
+# ifdef __cpp_lib_fstream_native_handle
+#   error "__cpp_lib_fstream_native_handle should not be defined before c++26"
+# endif
+
+#elif TEST_STD_VER == 14
+
+# ifdef __cpp_lib_fstream_native_handle
+#   error "__cpp_lib_fstream_native_handle should not be defined before c++26"
+# endif
+
+#elif TEST_STD_VER == 17
+
+# ifdef __cpp_lib_fstream_native_handle
+#   error "__cpp_lib_fstream_native_handle should not be defined before c++26"
+# endif
+
+#elif TEST_STD_VER == 20
+
+# ifdef __cpp_lib_fstream_native_handle
+#   error "__cpp_lib_fstream_native_handle should not be defined before c++26"
+# endif
+
+#elif TEST_STD_VER == 23
+
+# ifdef __cpp_lib_fstream_native_handle
+#   error "__cpp_lib_fstream_native_handle should not be defined before c++26"
+# endif
+
+#elif TEST_STD_VER > 23
+
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_fstream_native_handle
+#     error "__cpp_lib_fstream_native_handle should be defined in c++26"
+#   endif
+#   if __cpp_lib_fstream_native_handle != 202306L
+#     error "__cpp_lib_fstream_native_handle should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_fstream_native_handle
+#     error "__cpp_lib_fstream_native_handle should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
+#endif // TEST_STD_VER > 23
+

diff  --git a/libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
index 79cb615c518f3..f14b127e51951 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
@@ -17,9 +17,13 @@
 
 /*  Constant                           Value
     __cpp_lib_bind_back                202202L [C++23]
+                                       202306L [C++26]
     __cpp_lib_bind_front               201907L [C++20]
+                                       202306L [C++26]
     __cpp_lib_boyer_moore_searcher     201603L [C++17]
     __cpp_lib_constexpr_functional     201907L [C++20]
+    __cpp_lib_copyable_function        202306L [C++26]
+    __cpp_lib_function_ref             202306L [C++26]
     __cpp_lib_invoke                   201411L [C++17]
     __cpp_lib_invoke_r                 202106L [C++23]
     __cpp_lib_move_only_function       202110L [C++23]
@@ -52,6 +56,14 @@
 #   error "__cpp_lib_constexpr_functional should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_copyable_function
+#   error "__cpp_lib_copyable_function should not be defined before c++26"
+# endif
+
+# ifdef __cpp_lib_function_ref
+#   error "__cpp_lib_function_ref should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_invoke
 #   error "__cpp_lib_invoke should not be defined before c++17"
 # endif
@@ -102,6 +114,14 @@
 #   error "__cpp_lib_constexpr_functional should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_copyable_function
+#   error "__cpp_lib_copyable_function should not be defined before c++26"
+# endif
+
+# ifdef __cpp_lib_function_ref
+#   error "__cpp_lib_function_ref should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_invoke
 #   error "__cpp_lib_invoke should not be defined before c++17"
 # endif
@@ -161,6 +181,14 @@
 #   error "__cpp_lib_constexpr_functional should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_copyable_function
+#   error "__cpp_lib_copyable_function should not be defined before c++26"
+# endif
+
+# ifdef __cpp_lib_function_ref
+#   error "__cpp_lib_function_ref should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_invoke
 #   error "__cpp_lib_invoke should be defined in c++17"
 # endif
@@ -232,6 +260,14 @@
 #   error "__cpp_lib_constexpr_functional should have the value 201907L in c++20"
 # endif
 
+# ifdef __cpp_lib_copyable_function
+#   error "__cpp_lib_copyable_function should not be defined before c++26"
+# endif
+
+# ifdef __cpp_lib_function_ref
+#   error "__cpp_lib_function_ref should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_invoke
 #   error "__cpp_lib_invoke should be defined in c++20"
 # endif
@@ -318,6 +354,14 @@
 #   error "__cpp_lib_constexpr_functional should have the value 201907L in c++23"
 # endif
 
+# ifdef __cpp_lib_copyable_function
+#   error "__cpp_lib_copyable_function should not be defined before c++26"
+# endif
+
+# ifdef __cpp_lib_function_ref
+#   error "__cpp_lib_function_ref should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_invoke
 #   error "__cpp_lib_invoke should be defined in c++23"
 # endif
@@ -386,8 +430,8 @@
 #   ifndef __cpp_lib_bind_back
 #     error "__cpp_lib_bind_back should be defined in c++26"
 #   endif
-#   if __cpp_lib_bind_back != 202202L
-#     error "__cpp_lib_bind_back should have the value 202202L in c++26"
+#   if __cpp_lib_bind_back != 202306L
+#     error "__cpp_lib_bind_back should have the value 202306L in c++26"
 #   endif
 # else // _LIBCPP_VERSION
 #   ifdef __cpp_lib_bind_back
@@ -398,8 +442,8 @@
 # ifndef __cpp_lib_bind_front
 #   error "__cpp_lib_bind_front should be defined in c++26"
 # endif
-# if __cpp_lib_bind_front != 201907L
-#   error "__cpp_lib_bind_front should have the value 201907L in c++26"
+# if __cpp_lib_bind_front != 202306L
+#   error "__cpp_lib_bind_front should have the value 202306L in c++26"
 # endif
 
 # ifndef __cpp_lib_boyer_moore_searcher
@@ -416,6 +460,32 @@
 #   error "__cpp_lib_constexpr_functional should have the value 201907L in c++26"
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_copyable_function
+#     error "__cpp_lib_copyable_function should be defined in c++26"
+#   endif
+#   if __cpp_lib_copyable_function != 202306L
+#     error "__cpp_lib_copyable_function should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_copyable_function
+#     error "__cpp_lib_copyable_function should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_function_ref
+#     error "__cpp_lib_function_ref should be defined in c++26"
+#   endif
+#   if __cpp_lib_function_ref != 202306L
+#     error "__cpp_lib_function_ref should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_function_ref
+#     error "__cpp_lib_function_ref should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # ifndef __cpp_lib_invoke
 #   error "__cpp_lib_invoke should be defined in c++26"
 # endif

diff  --git a/libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
index 28d10cd3e7f1f..8599c54e24923 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
@@ -15,15 +15,16 @@
 
 // Test the feature test macros defined by <map>
 
-/*  Constant                                       Value
-    __cpp_lib_allocator_traits_is_always_equal     201411L [C++17]
-    __cpp_lib_associative_heterogeneous_erasure    202110L [C++23]
-    __cpp_lib_erase_if                             202002L [C++20]
-    __cpp_lib_generic_associative_lookup           201304L [C++14]
-    __cpp_lib_map_try_emplace                      201411L [C++17]
-    __cpp_lib_node_extract                         201606L [C++17]
-    __cpp_lib_nonmember_container_access           201411L [C++17]
-    __cpp_lib_ranges_to_container                  202202L [C++23]
+/*  Constant                                         Value
+    __cpp_lib_allocator_traits_is_always_equal       201411L [C++17]
+    __cpp_lib_associative_heterogeneous_erasure      202110L [C++23]
+    __cpp_lib_associative_heterogeneous_insertion    202306L [C++26]
+    __cpp_lib_erase_if                               202002L [C++20]
+    __cpp_lib_generic_associative_lookup             201304L [C++14]
+    __cpp_lib_map_try_emplace                        201411L [C++17]
+    __cpp_lib_node_extract                           201606L [C++17]
+    __cpp_lib_nonmember_container_access             201411L [C++17]
+    __cpp_lib_ranges_to_container                    202202L [C++23]
 */
 
 #include <map>
@@ -39,6 +40,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should not be defined before c++20"
 # endif
@@ -73,6 +78,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should not be defined before c++20"
 # endif
@@ -113,6 +122,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should not be defined before c++20"
 # endif
@@ -162,6 +175,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should be defined in c++20"
 # endif
@@ -223,6 +240,10 @@
 #   endif
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should be defined in c++23"
 # endif
@@ -293,6 +314,19 @@
 #   endif
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_associative_heterogeneous_insertion
+#     error "__cpp_lib_associative_heterogeneous_insertion should be defined in c++26"
+#   endif
+#   if __cpp_lib_associative_heterogeneous_insertion != 202306L
+#     error "__cpp_lib_associative_heterogeneous_insertion should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_associative_heterogeneous_insertion
+#     error "__cpp_lib_associative_heterogeneous_insertion should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # ifndef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should be defined in c++26"
 # endif

diff  --git a/libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
index c2da617f42cc1..e47d678b254ef 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
@@ -15,8 +15,9 @@
 
 // Test the feature test macros defined by <mdspan>
 
-/*  Constant            Value
-    __cpp_lib_mdspan    202207L [C++23]
+/*  Constant               Value
+    __cpp_lib_mdspan       202207L [C++23]
+    __cpp_lib_submdspan    202306L [C++26]
 */
 
 #include <mdspan>
@@ -28,24 +29,40 @@
 #   error "__cpp_lib_mdspan should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_submdspan
+#   error "__cpp_lib_submdspan should not be defined before c++26"
+# endif
+
 #elif TEST_STD_VER == 14
 
 # ifdef __cpp_lib_mdspan
 #   error "__cpp_lib_mdspan should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_submdspan
+#   error "__cpp_lib_submdspan should not be defined before c++26"
+# endif
+
 #elif TEST_STD_VER == 17
 
 # ifdef __cpp_lib_mdspan
 #   error "__cpp_lib_mdspan should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_submdspan
+#   error "__cpp_lib_submdspan should not be defined before c++26"
+# endif
+
 #elif TEST_STD_VER == 20
 
 # ifdef __cpp_lib_mdspan
 #   error "__cpp_lib_mdspan should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_submdspan
+#   error "__cpp_lib_submdspan should not be defined before c++26"
+# endif
+
 #elif TEST_STD_VER == 23
 
 # if !defined(_LIBCPP_VERSION)
@@ -61,6 +78,10 @@
 #   endif
 # endif
 
+# ifdef __cpp_lib_submdspan
+#   error "__cpp_lib_submdspan should not be defined before c++26"
+# endif
+
 #elif TEST_STD_VER > 23
 
 # if !defined(_LIBCPP_VERSION)
@@ -76,5 +97,18 @@
 #   endif
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_submdspan
+#     error "__cpp_lib_submdspan should be defined in c++26"
+#   endif
+#   if __cpp_lib_submdspan != 202306L
+#     error "__cpp_lib_submdspan should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_submdspan
+#     error "__cpp_lib_submdspan should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 #endif // TEST_STD_VER > 23
 

diff  --git a/libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
index 7db7c956d3751..02559d1340531 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
@@ -33,6 +33,7 @@
                                                   201707L [C++20]
     __cpp_lib_shared_ptr_weak_type                201606L [C++17]
     __cpp_lib_smart_ptr_for_overwrite             202002L [C++20]
+    __cpp_lib_smart_ptr_owner_equality            202306L [C++26]
     __cpp_lib_to_address                          201711L [C++20]
     __cpp_lib_transparent_operators               201210L [C++14]
                                                   201510L [C++17]
@@ -103,6 +104,10 @@
 #   error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_smart_ptr_owner_equality
+#   error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_to_address
 #   error "__cpp_lib_to_address should not be defined before c++20"
 # endif
@@ -176,6 +181,10 @@
 #   error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_smart_ptr_owner_equality
+#   error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_to_address
 #   error "__cpp_lib_to_address should not be defined before c++20"
 # endif
@@ -270,6 +279,10 @@
 #   error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_smart_ptr_owner_equality
+#   error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_to_address
 #   error "__cpp_lib_to_address should not be defined before c++20"
 # endif
@@ -388,6 +401,10 @@
 #   endif
 # endif
 
+# ifdef __cpp_lib_smart_ptr_owner_equality
+#   error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_to_address
 #   error "__cpp_lib_to_address should be defined in c++20"
 # endif
@@ -521,6 +538,10 @@
 #   endif
 # endif
 
+# ifdef __cpp_lib_smart_ptr_owner_equality
+#   error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_to_address
 #   error "__cpp_lib_to_address should be defined in c++23"
 # endif
@@ -654,6 +675,19 @@
 #   endif
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_smart_ptr_owner_equality
+#     error "__cpp_lib_smart_ptr_owner_equality should be defined in c++26"
+#   endif
+#   if __cpp_lib_smart_ptr_owner_equality != 202306L
+#     error "__cpp_lib_smart_ptr_owner_equality should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_smart_ptr_owner_equality
+#     error "__cpp_lib_smart_ptr_owner_equality should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # ifndef __cpp_lib_to_address
 #   error "__cpp_lib_to_address should be defined in c++26"
 # endif

diff  --git a/libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp
new file mode 100644
index 0000000000000..f782c24898b43
--- /dev/null
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp
@@ -0,0 +1,71 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+// WARNING: This test was generated by generate_feature_test_macro_components.py
+// and should not be edited manually.
+//
+// clang-format off
+
+// <ratio>
+
+// Test the feature test macros defined by <ratio>
+
+/*  Constant           Value
+    __cpp_lib_ratio    202306L [C++26]
+*/
+
+#include <ratio>
+#include "test_macros.h"
+
+#if TEST_STD_VER < 14
+
+# ifdef __cpp_lib_ratio
+#   error "__cpp_lib_ratio should not be defined before c++26"
+# endif
+
+#elif TEST_STD_VER == 14
+
+# ifdef __cpp_lib_ratio
+#   error "__cpp_lib_ratio should not be defined before c++26"
+# endif
+
+#elif TEST_STD_VER == 17
+
+# ifdef __cpp_lib_ratio
+#   error "__cpp_lib_ratio should not be defined before c++26"
+# endif
+
+#elif TEST_STD_VER == 20
+
+# ifdef __cpp_lib_ratio
+#   error "__cpp_lib_ratio should not be defined before c++26"
+# endif
+
+#elif TEST_STD_VER == 23
+
+# ifdef __cpp_lib_ratio
+#   error "__cpp_lib_ratio should not be defined before c++26"
+# endif
+
+#elif TEST_STD_VER > 23
+
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_ratio
+#     error "__cpp_lib_ratio should be defined in c++26"
+#   endif
+#   if __cpp_lib_ratio != 202306L
+#     error "__cpp_lib_ratio should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_ratio
+#     error "__cpp_lib_ratio should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
+#endif // TEST_STD_VER > 23
+

diff  --git a/libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp
index 23f93805cc169..241b66b2bfc31 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp
@@ -15,14 +15,15 @@
 
 // Test the feature test macros defined by <set>
 
-/*  Constant                                       Value
-    __cpp_lib_allocator_traits_is_always_equal     201411L [C++17]
-    __cpp_lib_associative_heterogeneous_erasure    202110L [C++23]
-    __cpp_lib_erase_if                             202002L [C++20]
-    __cpp_lib_generic_associative_lookup           201304L [C++14]
-    __cpp_lib_node_extract                         201606L [C++17]
-    __cpp_lib_nonmember_container_access           201411L [C++17]
-    __cpp_lib_ranges_to_container                  202202L [C++23]
+/*  Constant                                         Value
+    __cpp_lib_allocator_traits_is_always_equal       201411L [C++17]
+    __cpp_lib_associative_heterogeneous_erasure      202110L [C++23]
+    __cpp_lib_associative_heterogeneous_insertion    202306L [C++26]
+    __cpp_lib_erase_if                               202002L [C++20]
+    __cpp_lib_generic_associative_lookup             201304L [C++14]
+    __cpp_lib_node_extract                           201606L [C++17]
+    __cpp_lib_nonmember_container_access             201411L [C++17]
+    __cpp_lib_ranges_to_container                    202202L [C++23]
 */
 
 #include <set>
@@ -38,6 +39,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should not be defined before c++20"
 # endif
@@ -68,6 +73,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should not be defined before c++20"
 # endif
@@ -104,6 +113,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should not be defined before c++20"
 # endif
@@ -146,6 +159,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should be defined in c++20"
 # endif
@@ -200,6 +217,10 @@
 #   endif
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should be defined in c++23"
 # endif
@@ -263,6 +284,19 @@
 #   endif
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_associative_heterogeneous_insertion
+#     error "__cpp_lib_associative_heterogeneous_insertion should be defined in c++26"
+#   endif
+#   if __cpp_lib_associative_heterogeneous_insertion != 202306L
+#     error "__cpp_lib_associative_heterogeneous_insertion should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_associative_heterogeneous_insertion
+#     error "__cpp_lib_associative_heterogeneous_insertion should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # ifndef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should be defined in c++26"
 # endif

diff  --git a/libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp
new file mode 100644
index 0000000000000..78e17e5f1ddb5
--- /dev/null
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp
@@ -0,0 +1,73 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+// WARNING: This test was generated by generate_feature_test_macro_components.py
+// and should not be edited manually.
+//
+// clang-format off
+
+// UNSUPPORTED: no-localization
+
+// <sstream>
+
+// Test the feature test macros defined by <sstream>
+
+/*  Constant                              Value
+    __cpp_lib_sstream_from_string_view    202306L [C++26]
+*/
+
+#include <sstream>
+#include "test_macros.h"
+
+#if TEST_STD_VER < 14
+
+# ifdef __cpp_lib_sstream_from_string_view
+#   error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
+# endif
+
+#elif TEST_STD_VER == 14
+
+# ifdef __cpp_lib_sstream_from_string_view
+#   error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
+# endif
+
+#elif TEST_STD_VER == 17
+
+# ifdef __cpp_lib_sstream_from_string_view
+#   error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
+# endif
+
+#elif TEST_STD_VER == 20
+
+# ifdef __cpp_lib_sstream_from_string_view
+#   error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
+# endif
+
+#elif TEST_STD_VER == 23
+
+# ifdef __cpp_lib_sstream_from_string_view
+#   error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
+# endif
+
+#elif TEST_STD_VER > 23
+
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_sstream_from_string_view
+#     error "__cpp_lib_sstream_from_string_view should be defined in c++26"
+#   endif
+#   if __cpp_lib_sstream_from_string_view != 202306L
+#     error "__cpp_lib_sstream_from_string_view should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_sstream_from_string_view
+#     error "__cpp_lib_sstream_from_string_view should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
+#endif // TEST_STD_VER > 23
+

diff  --git a/libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
index e869fedbdaaf2..5902bdbd15521 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
@@ -28,6 +28,7 @@
     __cpp_lib_string_udls                         201304L [C++14]
     __cpp_lib_string_view                         201606L [C++17]
                                                   201803L [C++20]
+    __cpp_lib_to_string                           202306L [C++23]
 */
 
 #include <string>
@@ -79,6 +80,10 @@
 #   error "__cpp_lib_string_view should not be defined before c++17"
 # endif
 
+# ifdef __cpp_lib_to_string
+#   error "__cpp_lib_to_string should not be defined before c++23"
+# endif
+
 #elif TEST_STD_VER == 14
 
 # ifdef __cpp_lib_allocator_traits_is_always_equal
@@ -128,6 +133,10 @@
 #   error "__cpp_lib_string_view should not be defined before c++17"
 # endif
 
+# ifdef __cpp_lib_to_string
+#   error "__cpp_lib_to_string should not be defined before c++23"
+# endif
+
 #elif TEST_STD_VER == 17
 
 # ifndef __cpp_lib_allocator_traits_is_always_equal
@@ -186,6 +195,10 @@
 #   error "__cpp_lib_string_view should have the value 201606L in c++17"
 # endif
 
+# ifdef __cpp_lib_to_string
+#   error "__cpp_lib_to_string should not be defined before c++23"
+# endif
+
 #elif TEST_STD_VER == 20
 
 # ifndef __cpp_lib_allocator_traits_is_always_equal
@@ -262,6 +275,10 @@
 #   error "__cpp_lib_string_view should have the value 201803L in c++20"
 # endif
 
+# ifdef __cpp_lib_to_string
+#   error "__cpp_lib_to_string should not be defined before c++23"
+# endif
+
 #elif TEST_STD_VER == 23
 
 # ifndef __cpp_lib_allocator_traits_is_always_equal
@@ -353,6 +370,19 @@
 #   error "__cpp_lib_string_view should have the value 201803L in c++23"
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_to_string
+#     error "__cpp_lib_to_string should be defined in c++23"
+#   endif
+#   if __cpp_lib_to_string != 202306L
+#     error "__cpp_lib_to_string should have the value 202306L in c++23"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_to_string
+#     error "__cpp_lib_to_string should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 #elif TEST_STD_VER > 23
 
 # ifndef __cpp_lib_allocator_traits_is_always_equal
@@ -444,5 +474,18 @@
 #   error "__cpp_lib_string_view should have the value 201803L in c++26"
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_to_string
+#     error "__cpp_lib_to_string should be defined in c++26"
+#   endif
+#   if __cpp_lib_to_string != 202306L
+#     error "__cpp_lib_to_string should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_to_string
+#     error "__cpp_lib_to_string should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 #endif // TEST_STD_VER > 23
 

diff  --git a/libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
index a851b1bbb19d4..b1dd76b98720d 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
@@ -38,6 +38,7 @@
     __cpp_lib_type_identity                        201806L [C++20]
     __cpp_lib_type_trait_variable_templates        201510L [C++17]
     __cpp_lib_void_t                               201411L [C++17]
+    __cpp_lib_within_lifetime                      202306L [C++26]
 */
 
 #include <type_traits>
@@ -133,6 +134,10 @@
 #   error "__cpp_lib_void_t should not be defined before c++17"
 # endif
 
+# ifdef __cpp_lib_within_lifetime
+#   error "__cpp_lib_within_lifetime should not be defined before c++26"
+# endif
+
 #elif TEST_STD_VER == 14
 
 # ifdef __cpp_lib_bool_constant
@@ -238,6 +243,10 @@
 #   error "__cpp_lib_void_t should not be defined before c++17"
 # endif
 
+# ifdef __cpp_lib_within_lifetime
+#   error "__cpp_lib_within_lifetime should not be defined before c++26"
+# endif
+
 #elif TEST_STD_VER == 17
 
 # ifndef __cpp_lib_bool_constant
@@ -367,6 +376,10 @@
 #   error "__cpp_lib_void_t should have the value 201411L in c++17"
 # endif
 
+# ifdef __cpp_lib_within_lifetime
+#   error "__cpp_lib_within_lifetime should not be defined before c++26"
+# endif
+
 #elif TEST_STD_VER == 20
 
 # ifndef __cpp_lib_bool_constant
@@ -529,6 +542,10 @@
 #   error "__cpp_lib_void_t should have the value 201411L in c++20"
 # endif
 
+# ifdef __cpp_lib_within_lifetime
+#   error "__cpp_lib_within_lifetime should not be defined before c++26"
+# endif
+
 #elif TEST_STD_VER == 23
 
 # ifndef __cpp_lib_bool_constant
@@ -703,6 +720,10 @@
 #   error "__cpp_lib_void_t should have the value 201411L in c++23"
 # endif
 
+# ifdef __cpp_lib_within_lifetime
+#   error "__cpp_lib_within_lifetime should not be defined before c++26"
+# endif
+
 #elif TEST_STD_VER > 23
 
 # ifndef __cpp_lib_bool_constant
@@ -877,5 +898,18 @@
 #   error "__cpp_lib_void_t should have the value 201411L in c++26"
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_within_lifetime
+#     error "__cpp_lib_within_lifetime should be defined in c++26"
+#   endif
+#   if __cpp_lib_within_lifetime != 202306L
+#     error "__cpp_lib_within_lifetime should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_within_lifetime
+#     error "__cpp_lib_within_lifetime should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 #endif // TEST_STD_VER > 23
 

diff  --git a/libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
index 0e5b5985df60e..c3dfb78cfadd1 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
@@ -15,15 +15,16 @@
 
 // Test the feature test macros defined by <unordered_map>
 
-/*  Constant                                       Value
-    __cpp_lib_allocator_traits_is_always_equal     201411L [C++17]
-    __cpp_lib_associative_heterogeneous_erasure    202110L [C++23]
-    __cpp_lib_erase_if                             202002L [C++20]
-    __cpp_lib_generic_unordered_lookup             201811L [C++20]
-    __cpp_lib_node_extract                         201606L [C++17]
-    __cpp_lib_nonmember_container_access           201411L [C++17]
-    __cpp_lib_ranges_to_container                  202202L [C++23]
-    __cpp_lib_unordered_map_try_emplace            201411L [C++17]
+/*  Constant                                         Value
+    __cpp_lib_allocator_traits_is_always_equal       201411L [C++17]
+    __cpp_lib_associative_heterogeneous_erasure      202110L [C++23]
+    __cpp_lib_associative_heterogeneous_insertion    202306L [C++26]
+    __cpp_lib_erase_if                               202002L [C++20]
+    __cpp_lib_generic_unordered_lookup               201811L [C++20]
+    __cpp_lib_node_extract                           201606L [C++17]
+    __cpp_lib_nonmember_container_access             201411L [C++17]
+    __cpp_lib_ranges_to_container                    202202L [C++23]
+    __cpp_lib_unordered_map_try_emplace              201411L [C++17]
 */
 
 #include <unordered_map>
@@ -39,6 +40,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should not be defined before c++20"
 # endif
@@ -73,6 +78,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should not be defined before c++20"
 # endif
@@ -110,6 +119,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should not be defined before c++20"
 # endif
@@ -156,6 +169,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should be defined in c++20"
 # endif
@@ -217,6 +234,10 @@
 #   endif
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should be defined in c++23"
 # endif
@@ -287,6 +308,19 @@
 #   endif
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_associative_heterogeneous_insertion
+#     error "__cpp_lib_associative_heterogeneous_insertion should be defined in c++26"
+#   endif
+#   if __cpp_lib_associative_heterogeneous_insertion != 202306L
+#     error "__cpp_lib_associative_heterogeneous_insertion should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_associative_heterogeneous_insertion
+#     error "__cpp_lib_associative_heterogeneous_insertion should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # ifndef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should be defined in c++26"
 # endif

diff  --git a/libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
index 8a3a8afd5b473..d215aec861564 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
@@ -15,14 +15,15 @@
 
 // Test the feature test macros defined by <unordered_set>
 
-/*  Constant                                       Value
-    __cpp_lib_allocator_traits_is_always_equal     201411L [C++17]
-    __cpp_lib_associative_heterogeneous_erasure    202110L [C++23]
-    __cpp_lib_erase_if                             202002L [C++20]
-    __cpp_lib_generic_unordered_lookup             201811L [C++20]
-    __cpp_lib_node_extract                         201606L [C++17]
-    __cpp_lib_nonmember_container_access           201411L [C++17]
-    __cpp_lib_ranges_to_container                  202202L [C++23]
+/*  Constant                                         Value
+    __cpp_lib_allocator_traits_is_always_equal       201411L [C++17]
+    __cpp_lib_associative_heterogeneous_erasure      202110L [C++23]
+    __cpp_lib_associative_heterogeneous_insertion    202306L [C++26]
+    __cpp_lib_erase_if                               202002L [C++20]
+    __cpp_lib_generic_unordered_lookup               201811L [C++20]
+    __cpp_lib_node_extract                           201606L [C++17]
+    __cpp_lib_nonmember_container_access             201411L [C++17]
+    __cpp_lib_ranges_to_container                    202202L [C++23]
 */
 
 #include <unordered_set>
@@ -38,6 +39,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should not be defined before c++20"
 # endif
@@ -68,6 +73,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should not be defined before c++20"
 # endif
@@ -101,6 +110,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should not be defined before c++20"
 # endif
@@ -140,6 +153,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should be defined in c++20"
 # endif
@@ -194,6 +211,10 @@
 #   endif
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should be defined in c++23"
 # endif
@@ -257,6 +278,19 @@
 #   endif
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_associative_heterogeneous_insertion
+#     error "__cpp_lib_associative_heterogeneous_insertion should be defined in c++26"
+#   endif
+#   if __cpp_lib_associative_heterogeneous_insertion != 202306L
+#     error "__cpp_lib_associative_heterogeneous_insertion should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_associative_heterogeneous_insertion
+#     error "__cpp_lib_associative_heterogeneous_insertion should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # ifndef __cpp_lib_erase_if
 #   error "__cpp_lib_erase_if should be defined in c++26"
 # endif

diff  --git a/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
index 8443fb1d97513..dbad0e6b3cf0c 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
@@ -15,178 +15,194 @@
 
 // Test the feature test macros defined by <version>
 
-/*  Constant                                       Value
-    __cpp_lib_adaptor_iterator_pair_constructor    202106L [C++23]
-    __cpp_lib_addressof_constexpr                  201603L [C++17]
-    __cpp_lib_allocate_at_least                    202106L [C++23]
-    __cpp_lib_allocator_traits_is_always_equal     201411L [C++17]
-    __cpp_lib_any                                  201606L [C++17]
-    __cpp_lib_apply                                201603L [C++17]
-    __cpp_lib_array_constexpr                      201603L [C++17]
-                                                   201811L [C++20]
-    __cpp_lib_as_const                             201510L [C++17]
-    __cpp_lib_associative_heterogeneous_erasure    202110L [C++23]
-    __cpp_lib_assume_aligned                       201811L [C++20]
-    __cpp_lib_atomic_flag_test                     201907L [C++20]
-    __cpp_lib_atomic_float                         201711L [C++20]
-    __cpp_lib_atomic_is_always_lock_free           201603L [C++17]
-    __cpp_lib_atomic_lock_free_type_aliases        201907L [C++20]
-    __cpp_lib_atomic_ref                           201806L [C++20]
-    __cpp_lib_atomic_shared_ptr                    201711L [C++20]
-    __cpp_lib_atomic_value_initialization          201911L [C++20]
-    __cpp_lib_atomic_wait                          201907L [C++20]
-    __cpp_lib_barrier                              201907L [C++20]
-    __cpp_lib_bind_back                            202202L [C++23]
-    __cpp_lib_bind_front                           201907L [C++20]
-    __cpp_lib_bit_cast                             201806L [C++20]
-    __cpp_lib_bitops                               201907L [C++20]
-    __cpp_lib_bool_constant                        201505L [C++17]
-    __cpp_lib_bounded_array_traits                 201902L [C++20]
-    __cpp_lib_boyer_moore_searcher                 201603L [C++17]
-    __cpp_lib_byte                                 201603L [C++17]
-    __cpp_lib_byteswap                             202110L [C++23]
-    __cpp_lib_char8_t                              201907L [C++20]
-    __cpp_lib_chrono                               201611L [C++17]
-    __cpp_lib_chrono_udls                          201304L [C++14]
-    __cpp_lib_clamp                                201603L [C++17]
-    __cpp_lib_complex_udls                         201309L [C++14]
-    __cpp_lib_concepts                             202002L [C++20]
-    __cpp_lib_constexpr_algorithms                 201806L [C++20]
-    __cpp_lib_constexpr_bitset                     202207L [C++23]
-    __cpp_lib_constexpr_charconv                   202207L [C++23]
-    __cpp_lib_constexpr_cmath                      202202L [C++23]
-    __cpp_lib_constexpr_complex                    201711L [C++20]
-    __cpp_lib_constexpr_dynamic_alloc              201907L [C++20]
-    __cpp_lib_constexpr_functional                 201907L [C++20]
-    __cpp_lib_constexpr_iterator                   201811L [C++20]
-    __cpp_lib_constexpr_memory                     201811L [C++20]
-                                                   202202L [C++23]
-    __cpp_lib_constexpr_numeric                    201911L [C++20]
-    __cpp_lib_constexpr_string                     201907L [C++20]
-    __cpp_lib_constexpr_string_view                201811L [C++20]
-    __cpp_lib_constexpr_tuple                      201811L [C++20]
-    __cpp_lib_constexpr_typeinfo                   202106L [C++23]
-    __cpp_lib_constexpr_utility                    201811L [C++20]
-    __cpp_lib_constexpr_vector                     201907L [C++20]
-    __cpp_lib_coroutine                            201902L [C++20]
-    __cpp_lib_destroying_delete                    201806L [C++20]
-    __cpp_lib_enable_shared_from_this              201603L [C++17]
-    __cpp_lib_endian                               201907L [C++20]
-    __cpp_lib_erase_if                             202002L [C++20]
-    __cpp_lib_exchange_function                    201304L [C++14]
-    __cpp_lib_execution                            201603L [C++17]
-                                                   201902L [C++20]
-    __cpp_lib_expected                             202211L [C++23]
-    __cpp_lib_filesystem                           201703L [C++17]
-    __cpp_lib_format                               202106L [C++20]
-    __cpp_lib_format_ranges                        202207L [C++23]
-    __cpp_lib_formatters                           202302L [C++23]
-    __cpp_lib_forward_like                         202207L [C++23]
-    __cpp_lib_gcd_lcm                              201606L [C++17]
-    __cpp_lib_generic_associative_lookup           201304L [C++14]
-    __cpp_lib_generic_unordered_lookup             201811L [C++20]
-    __cpp_lib_hardware_interference_size           201703L [C++17]
-    __cpp_lib_has_unique_object_representations    201606L [C++17]
-    __cpp_lib_hypot                                201603L [C++17]
-    __cpp_lib_incomplete_container_elements        201505L [C++17]
-    __cpp_lib_int_pow2                             202002L [C++20]
-    __cpp_lib_integer_comparison_functions         202002L [C++20]
-    __cpp_lib_integer_sequence                     201304L [C++14]
-    __cpp_lib_integral_constant_callable           201304L [C++14]
-    __cpp_lib_interpolate                          201902L [C++20]
-    __cpp_lib_invoke                               201411L [C++17]
-    __cpp_lib_invoke_r                             202106L [C++23]
-    __cpp_lib_is_aggregate                         201703L [C++17]
-    __cpp_lib_is_constant_evaluated                201811L [C++20]
-    __cpp_lib_is_final                             201402L [C++14]
-    __cpp_lib_is_invocable                         201703L [C++17]
-    __cpp_lib_is_layout_compatible                 201907L [C++20]
-    __cpp_lib_is_nothrow_convertible               201806L [C++20]
-    __cpp_lib_is_null_pointer                      201309L [C++14]
-    __cpp_lib_is_pointer_interconvertible          201907L [C++20]
-    __cpp_lib_is_scoped_enum                       202011L [C++23]
-    __cpp_lib_is_swappable                         201603L [C++17]
-    __cpp_lib_jthread                              201911L [C++20]
-    __cpp_lib_latch                                201907L [C++20]
-    __cpp_lib_launder                              201606L [C++17]
-    __cpp_lib_list_remove_return_type              201806L [C++20]
-    __cpp_lib_logical_traits                       201510L [C++17]
-    __cpp_lib_make_from_tuple                      201606L [C++17]
-    __cpp_lib_make_reverse_iterator                201402L [C++14]
-    __cpp_lib_make_unique                          201304L [C++14]
-    __cpp_lib_map_try_emplace                      201411L [C++17]
-    __cpp_lib_math_constants                       201907L [C++20]
-    __cpp_lib_math_special_functions               201603L [C++17]
-    __cpp_lib_mdspan                               202207L [C++23]
-    __cpp_lib_memory_resource                      201603L [C++17]
-    __cpp_lib_move_iterator_concept                202207L [C++20]
-    __cpp_lib_move_only_function                   202110L [C++23]
-    __cpp_lib_node_extract                         201606L [C++17]
-    __cpp_lib_nonmember_container_access           201411L [C++17]
-    __cpp_lib_not_fn                               201603L [C++17]
-    __cpp_lib_null_iterators                       201304L [C++14]
-    __cpp_lib_optional                             201606L [C++17]
-                                                   202110L [C++23]
-    __cpp_lib_out_ptr                              202106L [C++23]
-    __cpp_lib_parallel_algorithm                   201603L [C++17]
-    __cpp_lib_polymorphic_allocator                201902L [C++20]
-    __cpp_lib_quoted_string_io                     201304L [C++14]
-    __cpp_lib_ranges                               202106L [C++20]
-    __cpp_lib_ranges_as_rvalue                     202207L [C++23]
-    __cpp_lib_ranges_chunk                         202202L [C++23]
-    __cpp_lib_ranges_chunk_by                      202202L [C++23]
-    __cpp_lib_ranges_iota                          202202L [C++23]
-    __cpp_lib_ranges_join_with                     202202L [C++23]
-    __cpp_lib_ranges_slide                         202202L [C++23]
-    __cpp_lib_ranges_starts_ends_with              202106L [C++23]
-    __cpp_lib_ranges_to_container                  202202L [C++23]
-    __cpp_lib_ranges_zip                           202110L [C++23]
-    __cpp_lib_raw_memory_algorithms                201606L [C++17]
-    __cpp_lib_reference_from_temporary             202202L [C++23]
-    __cpp_lib_remove_cvref                         201711L [C++20]
-    __cpp_lib_result_of_sfinae                     201210L [C++14]
-    __cpp_lib_robust_nonmodifying_seq_ops          201304L [C++14]
-    __cpp_lib_sample                               201603L [C++17]
-    __cpp_lib_scoped_lock                          201703L [C++17]
-    __cpp_lib_semaphore                            201907L [C++20]
-    __cpp_lib_shared_mutex                         201505L [C++17]
-    __cpp_lib_shared_ptr_arrays                    201611L [C++17]
-                                                   201707L [C++20]
-    __cpp_lib_shared_ptr_weak_type                 201606L [C++17]
-    __cpp_lib_shared_timed_mutex                   201402L [C++14]
-    __cpp_lib_shift                                201806L [C++20]
-    __cpp_lib_smart_ptr_for_overwrite              202002L [C++20]
-    __cpp_lib_source_location                      201907L [C++20]
-    __cpp_lib_span                                 202002L [C++20]
-    __cpp_lib_spanstream                           202106L [C++23]
-    __cpp_lib_ssize                                201902L [C++20]
-    __cpp_lib_stacktrace                           202011L [C++23]
-    __cpp_lib_starts_ends_with                     201711L [C++20]
-    __cpp_lib_stdatomic_h                          202011L [C++23]
-    __cpp_lib_string_contains                      202011L [C++23]
-    __cpp_lib_string_resize_and_overwrite          202110L [C++23]
-    __cpp_lib_string_udls                          201304L [C++14]
-    __cpp_lib_string_view                          201606L [C++17]
-                                                   201803L [C++20]
-    __cpp_lib_syncbuf                              201803L [C++20]
-    __cpp_lib_three_way_comparison                 201907L [C++20]
-    __cpp_lib_to_address                           201711L [C++20]
-    __cpp_lib_to_array                             201907L [C++20]
-    __cpp_lib_to_chars                             201611L [C++17]
-    __cpp_lib_to_underlying                        202102L [C++23]
-    __cpp_lib_transformation_trait_aliases         201304L [C++14]
-    __cpp_lib_transparent_operators                201210L [C++14]
-                                                   201510L [C++17]
-    __cpp_lib_tuple_element_t                      201402L [C++14]
-    __cpp_lib_tuples_by_type                       201304L [C++14]
-    __cpp_lib_type_identity                        201806L [C++20]
-    __cpp_lib_type_trait_variable_templates        201510L [C++17]
-    __cpp_lib_uncaught_exceptions                  201411L [C++17]
-    __cpp_lib_unordered_map_try_emplace            201411L [C++17]
-    __cpp_lib_unreachable                          202202L [C++23]
-    __cpp_lib_unwrap_ref                           201811L [C++20]
-    __cpp_lib_variant                              202102L [C++17]
-    __cpp_lib_void_t                               201411L [C++17]
+/*  Constant                                         Value
+    __cpp_lib_adaptor_iterator_pair_constructor      202106L [C++23]
+    __cpp_lib_addressof_constexpr                    201603L [C++17]
+    __cpp_lib_allocate_at_least                      202106L [C++23]
+    __cpp_lib_allocator_traits_is_always_equal       201411L [C++17]
+    __cpp_lib_any                                    201606L [C++17]
+    __cpp_lib_apply                                  201603L [C++17]
+    __cpp_lib_array_constexpr                        201603L [C++17]
+                                                     201811L [C++20]
+    __cpp_lib_as_const                               201510L [C++17]
+    __cpp_lib_associative_heterogeneous_erasure      202110L [C++23]
+    __cpp_lib_associative_heterogeneous_insertion    202306L [C++26]
+    __cpp_lib_assume_aligned                         201811L [C++20]
+    __cpp_lib_atomic_flag_test                       201907L [C++20]
+    __cpp_lib_atomic_float                           201711L [C++20]
+    __cpp_lib_atomic_is_always_lock_free             201603L [C++17]
+    __cpp_lib_atomic_lock_free_type_aliases          201907L [C++20]
+    __cpp_lib_atomic_ref                             201806L [C++20]
+    __cpp_lib_atomic_shared_ptr                      201711L [C++20]
+    __cpp_lib_atomic_value_initialization            201911L [C++20]
+    __cpp_lib_atomic_wait                            201907L [C++20]
+    __cpp_lib_barrier                                201907L [C++20]
+    __cpp_lib_bind_back                              202202L [C++23]
+                                                     202306L [C++26]
+    __cpp_lib_bind_front                             201907L [C++20]
+                                                     202306L [C++26]
+    __cpp_lib_bit_cast                               201806L [C++20]
+    __cpp_lib_bitops                                 201907L [C++20]
+    __cpp_lib_bitset                                 202306L [C++26]
+    __cpp_lib_bool_constant                          201505L [C++17]
+    __cpp_lib_bounded_array_traits                   201902L [C++20]
+    __cpp_lib_boyer_moore_searcher                   201603L [C++17]
+    __cpp_lib_byte                                   201603L [C++17]
+    __cpp_lib_byteswap                               202110L [C++23]
+    __cpp_lib_char8_t                                201907L [C++20]
+    __cpp_lib_chrono                                 201611L [C++17]
+    __cpp_lib_chrono_udls                            201304L [C++14]
+    __cpp_lib_clamp                                  201603L [C++17]
+    __cpp_lib_complex_udls                           201309L [C++14]
+    __cpp_lib_concepts                               202002L [C++20]
+    __cpp_lib_constexpr_algorithms                   201806L [C++20]
+    __cpp_lib_constexpr_bitset                       202207L [C++23]
+    __cpp_lib_constexpr_charconv                     202207L [C++23]
+    __cpp_lib_constexpr_cmath                        202202L [C++23]
+    __cpp_lib_constexpr_complex                      201711L [C++20]
+    __cpp_lib_constexpr_dynamic_alloc                201907L [C++20]
+    __cpp_lib_constexpr_functional                   201907L [C++20]
+    __cpp_lib_constexpr_iterator                     201811L [C++20]
+    __cpp_lib_constexpr_memory                       201811L [C++20]
+                                                     202202L [C++23]
+    __cpp_lib_constexpr_numeric                      201911L [C++20]
+    __cpp_lib_constexpr_string                       201907L [C++20]
+    __cpp_lib_constexpr_string_view                  201811L [C++20]
+    __cpp_lib_constexpr_tuple                        201811L [C++20]
+    __cpp_lib_constexpr_typeinfo                     202106L [C++23]
+    __cpp_lib_constexpr_utility                      201811L [C++20]
+    __cpp_lib_constexpr_vector                       201907L [C++20]
+    __cpp_lib_copyable_function                      202306L [C++26]
+    __cpp_lib_coroutine                              201902L [C++20]
+    __cpp_lib_destroying_delete                      201806L [C++20]
+    __cpp_lib_enable_shared_from_this                201603L [C++17]
+    __cpp_lib_endian                                 201907L [C++20]
+    __cpp_lib_erase_if                               202002L [C++20]
+    __cpp_lib_exchange_function                      201304L [C++14]
+    __cpp_lib_execution                              201603L [C++17]
+                                                     201902L [C++20]
+    __cpp_lib_expected                               202211L [C++23]
+    __cpp_lib_filesystem                             201703L [C++17]
+    __cpp_lib_format                                 202106L [C++20]
+    __cpp_lib_format_ranges                          202207L [C++23]
+    __cpp_lib_formatters                             202302L [C++23]
+    __cpp_lib_forward_like                           202207L [C++23]
+    __cpp_lib_fstream_native_handle                  202306L [C++26]
+    __cpp_lib_function_ref                           202306L [C++26]
+    __cpp_lib_gcd_lcm                                201606L [C++17]
+    __cpp_lib_generic_associative_lookup             201304L [C++14]
+    __cpp_lib_generic_unordered_lookup               201811L [C++20]
+    __cpp_lib_hardware_interference_size             201703L [C++17]
+    __cpp_lib_has_unique_object_representations      201606L [C++17]
+    __cpp_lib_hazard_pointer                         202306L [C++26]
+    __cpp_lib_hypot                                  201603L [C++17]
+    __cpp_lib_incomplete_container_elements          201505L [C++17]
+    __cpp_lib_int_pow2                               202002L [C++20]
+    __cpp_lib_integer_comparison_functions           202002L [C++20]
+    __cpp_lib_integer_sequence                       201304L [C++14]
+    __cpp_lib_integral_constant_callable             201304L [C++14]
+    __cpp_lib_interpolate                            201902L [C++20]
+    __cpp_lib_invoke                                 201411L [C++17]
+    __cpp_lib_invoke_r                               202106L [C++23]
+    __cpp_lib_is_aggregate                           201703L [C++17]
+    __cpp_lib_is_constant_evaluated                  201811L [C++20]
+    __cpp_lib_is_final                               201402L [C++14]
+    __cpp_lib_is_invocable                           201703L [C++17]
+    __cpp_lib_is_layout_compatible                   201907L [C++20]
+    __cpp_lib_is_nothrow_convertible                 201806L [C++20]
+    __cpp_lib_is_null_pointer                        201309L [C++14]
+    __cpp_lib_is_pointer_interconvertible            201907L [C++20]
+    __cpp_lib_is_scoped_enum                         202011L [C++23]
+    __cpp_lib_is_swappable                           201603L [C++17]
+    __cpp_lib_jthread                                201911L [C++20]
+    __cpp_lib_latch                                  201907L [C++20]
+    __cpp_lib_launder                                201606L [C++17]
+    __cpp_lib_list_remove_return_type                201806L [C++20]
+    __cpp_lib_logical_traits                         201510L [C++17]
+    __cpp_lib_make_from_tuple                        201606L [C++17]
+    __cpp_lib_make_reverse_iterator                  201402L [C++14]
+    __cpp_lib_make_unique                            201304L [C++14]
+    __cpp_lib_map_try_emplace                        201411L [C++17]
+    __cpp_lib_math_constants                         201907L [C++20]
+    __cpp_lib_math_special_functions                 201603L [C++17]
+    __cpp_lib_mdspan                                 202207L [C++23]
+    __cpp_lib_memory_resource                        201603L [C++17]
+    __cpp_lib_move_iterator_concept                  202207L [C++20]
+    __cpp_lib_move_only_function                     202110L [C++23]
+    __cpp_lib_node_extract                           201606L [C++17]
+    __cpp_lib_nonmember_container_access             201411L [C++17]
+    __cpp_lib_not_fn                                 201603L [C++17]
+    __cpp_lib_null_iterators                         201304L [C++14]
+    __cpp_lib_optional                               201606L [C++17]
+                                                     202110L [C++23]
+    __cpp_lib_out_ptr                                202106L [C++23]
+    __cpp_lib_parallel_algorithm                     201603L [C++17]
+    __cpp_lib_polymorphic_allocator                  201902L [C++20]
+    __cpp_lib_quoted_string_io                       201304L [C++14]
+    __cpp_lib_ranges                                 202106L [C++20]
+    __cpp_lib_ranges_as_rvalue                       202207L [C++23]
+    __cpp_lib_ranges_chunk                           202202L [C++23]
+    __cpp_lib_ranges_chunk_by                        202202L [C++23]
+    __cpp_lib_ranges_iota                            202202L [C++23]
+    __cpp_lib_ranges_join_with                       202202L [C++23]
+    __cpp_lib_ranges_slide                           202202L [C++23]
+    __cpp_lib_ranges_starts_ends_with                202106L [C++23]
+    __cpp_lib_ranges_to_container                    202202L [C++23]
+    __cpp_lib_ranges_zip                             202110L [C++23]
+    __cpp_lib_ratio                                  202306L [C++26]
+    __cpp_lib_raw_memory_algorithms                  201606L [C++17]
+    __cpp_lib_rcu                                    202306L [C++26]
+    __cpp_lib_reference_from_temporary               202202L [C++23]
+    __cpp_lib_remove_cvref                           201711L [C++20]
+    __cpp_lib_result_of_sfinae                       201210L [C++14]
+    __cpp_lib_robust_nonmodifying_seq_ops            201304L [C++14]
+    __cpp_lib_sample                                 201603L [C++17]
+    __cpp_lib_scoped_lock                            201703L [C++17]
+    __cpp_lib_semaphore                              201907L [C++20]
+    __cpp_lib_shared_mutex                           201505L [C++17]
+    __cpp_lib_shared_ptr_arrays                      201611L [C++17]
+                                                     201707L [C++20]
+    __cpp_lib_shared_ptr_weak_type                   201606L [C++17]
+    __cpp_lib_shared_timed_mutex                     201402L [C++14]
+    __cpp_lib_shift                                  201806L [C++20]
+    __cpp_lib_smart_ptr_for_overwrite                202002L [C++20]
+    __cpp_lib_smart_ptr_owner_equality               202306L [C++26]
+    __cpp_lib_source_location                        201907L [C++20]
+    __cpp_lib_span                                   202002L [C++20]
+    __cpp_lib_spanstream                             202106L [C++23]
+    __cpp_lib_ssize                                  201902L [C++20]
+    __cpp_lib_sstream_from_string_view               202306L [C++26]
+    __cpp_lib_stacktrace                             202011L [C++23]
+    __cpp_lib_starts_ends_with                       201711L [C++20]
+    __cpp_lib_stdatomic_h                            202011L [C++23]
+    __cpp_lib_string_contains                        202011L [C++23]
+    __cpp_lib_string_resize_and_overwrite            202110L [C++23]
+    __cpp_lib_string_udls                            201304L [C++14]
+    __cpp_lib_string_view                            201606L [C++17]
+                                                     201803L [C++20]
+    __cpp_lib_submdspan                              202306L [C++26]
+    __cpp_lib_syncbuf                                201803L [C++20]
+    __cpp_lib_text_encoding                          202306L [C++26]
+    __cpp_lib_three_way_comparison                   201907L [C++20]
+    __cpp_lib_to_address                             201711L [C++20]
+    __cpp_lib_to_array                               201907L [C++20]
+    __cpp_lib_to_chars                               201611L [C++17]
+    __cpp_lib_to_string                              202306L [C++23]
+    __cpp_lib_to_underlying                          202102L [C++23]
+    __cpp_lib_transformation_trait_aliases           201304L [C++14]
+    __cpp_lib_transparent_operators                  201210L [C++14]
+                                                     201510L [C++17]
+    __cpp_lib_tuple_element_t                        201402L [C++14]
+    __cpp_lib_tuples_by_type                         201304L [C++14]
+    __cpp_lib_type_identity                          201806L [C++20]
+    __cpp_lib_type_trait_variable_templates          201510L [C++17]
+    __cpp_lib_uncaught_exceptions                    201411L [C++17]
+    __cpp_lib_unordered_map_try_emplace              201411L [C++17]
+    __cpp_lib_unreachable                            202202L [C++23]
+    __cpp_lib_unwrap_ref                             201811L [C++20]
+    __cpp_lib_variant                                202102L [C++17]
+    __cpp_lib_void_t                                 201411L [C++17]
+    __cpp_lib_within_lifetime                        202306L [C++26]
 */
 
 #include <version>
@@ -230,6 +246,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_assume_aligned
 #   error "__cpp_lib_assume_aligned should not be defined before c++20"
 # endif
@@ -286,6 +306,10 @@
 #   error "__cpp_lib_bitops should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_bitset
+#   error "__cpp_lib_bitset should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_bool_constant
 #   error "__cpp_lib_bool_constant should not be defined before c++17"
 # endif
@@ -394,6 +418,10 @@
 #   error "__cpp_lib_constexpr_vector should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_copyable_function
+#   error "__cpp_lib_copyable_function should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_coroutine
 #   error "__cpp_lib_coroutine should not be defined before c++20"
 # endif
@@ -446,6 +474,14 @@
 #   error "__cpp_lib_forward_like should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_fstream_native_handle
+#   error "__cpp_lib_fstream_native_handle should not be defined before c++26"
+# endif
+
+# ifdef __cpp_lib_function_ref
+#   error "__cpp_lib_function_ref should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_gcd_lcm
 #   error "__cpp_lib_gcd_lcm should not be defined before c++17"
 # endif
@@ -466,6 +502,10 @@
 #   error "__cpp_lib_has_unique_object_representations should not be defined before c++17"
 # endif
 
+# ifdef __cpp_lib_hazard_pointer
+#   error "__cpp_lib_hazard_pointer should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_hypot
 #   error "__cpp_lib_hypot should not be defined before c++17"
 # endif
@@ -678,10 +718,18 @@
 #   error "__cpp_lib_ranges_zip should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_ratio
+#   error "__cpp_lib_ratio should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_raw_memory_algorithms
 #   error "__cpp_lib_raw_memory_algorithms should not be defined before c++17"
 # endif
 
+# ifdef __cpp_lib_rcu
+#   error "__cpp_lib_rcu should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_reference_from_temporary
 #   error "__cpp_lib_reference_from_temporary should not be defined before c++23"
 # endif
@@ -734,6 +782,10 @@
 #   error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_smart_ptr_owner_equality
+#   error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_source_location
 #   error "__cpp_lib_source_location should not be defined before c++20"
 # endif
@@ -750,6 +802,10 @@
 #   error "__cpp_lib_ssize should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_sstream_from_string_view
+#   error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_stacktrace
 #   error "__cpp_lib_stacktrace should not be defined before c++23"
 # endif
@@ -778,10 +834,18 @@
 #   error "__cpp_lib_string_view should not be defined before c++17"
 # endif
 
+# ifdef __cpp_lib_submdspan
+#   error "__cpp_lib_submdspan should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_syncbuf
 #   error "__cpp_lib_syncbuf should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_text_encoding
+#   error "__cpp_lib_text_encoding should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_three_way_comparison
 #   error "__cpp_lib_three_way_comparison should not be defined before c++20"
 # endif
@@ -798,6 +862,10 @@
 #   error "__cpp_lib_to_chars should not be defined before c++17"
 # endif
 
+# ifdef __cpp_lib_to_string
+#   error "__cpp_lib_to_string should not be defined before c++23"
+# endif
+
 # ifdef __cpp_lib_to_underlying
 #   error "__cpp_lib_to_underlying should not be defined before c++23"
 # endif
@@ -850,6 +918,10 @@
 #   error "__cpp_lib_void_t should not be defined before c++17"
 # endif
 
+# ifdef __cpp_lib_within_lifetime
+#   error "__cpp_lib_within_lifetime should not be defined before c++26"
+# endif
+
 #elif TEST_STD_VER == 14
 
 # ifdef __cpp_lib_adaptor_iterator_pair_constructor
@@ -888,6 +960,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_assume_aligned
 #   error "__cpp_lib_assume_aligned should not be defined before c++20"
 # endif
@@ -944,6 +1020,10 @@
 #   error "__cpp_lib_bitops should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_bitset
+#   error "__cpp_lib_bitset should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_bool_constant
 #   error "__cpp_lib_bool_constant should not be defined before c++17"
 # endif
@@ -1058,6 +1138,10 @@
 #   error "__cpp_lib_constexpr_vector should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_copyable_function
+#   error "__cpp_lib_copyable_function should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_coroutine
 #   error "__cpp_lib_coroutine should not be defined before c++20"
 # endif
@@ -1113,6 +1197,14 @@
 #   error "__cpp_lib_forward_like should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_fstream_native_handle
+#   error "__cpp_lib_fstream_native_handle should not be defined before c++26"
+# endif
+
+# ifdef __cpp_lib_function_ref
+#   error "__cpp_lib_function_ref should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_gcd_lcm
 #   error "__cpp_lib_gcd_lcm should not be defined before c++17"
 # endif
@@ -1136,6 +1228,10 @@
 #   error "__cpp_lib_has_unique_object_representations should not be defined before c++17"
 # endif
 
+# ifdef __cpp_lib_hazard_pointer
+#   error "__cpp_lib_hazard_pointer should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_hypot
 #   error "__cpp_lib_hypot should not be defined before c++17"
 # endif
@@ -1372,10 +1468,18 @@
 #   error "__cpp_lib_ranges_zip should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_ratio
+#   error "__cpp_lib_ratio should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_raw_memory_algorithms
 #   error "__cpp_lib_raw_memory_algorithms should not be defined before c++17"
 # endif
 
+# ifdef __cpp_lib_rcu
+#   error "__cpp_lib_rcu should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_reference_from_temporary
 #   error "__cpp_lib_reference_from_temporary should not be defined before c++23"
 # endif
@@ -1443,6 +1547,10 @@
 #   error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_smart_ptr_owner_equality
+#   error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_source_location
 #   error "__cpp_lib_source_location should not be defined before c++20"
 # endif
@@ -1459,6 +1567,10 @@
 #   error "__cpp_lib_ssize should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_sstream_from_string_view
+#   error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_stacktrace
 #   error "__cpp_lib_stacktrace should not be defined before c++23"
 # endif
@@ -1490,10 +1602,18 @@
 #   error "__cpp_lib_string_view should not be defined before c++17"
 # endif
 
+# ifdef __cpp_lib_submdspan
+#   error "__cpp_lib_submdspan should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_syncbuf
 #   error "__cpp_lib_syncbuf should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_text_encoding
+#   error "__cpp_lib_text_encoding should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_three_way_comparison
 #   error "__cpp_lib_three_way_comparison should not be defined before c++20"
 # endif
@@ -1510,6 +1630,10 @@
 #   error "__cpp_lib_to_chars should not be defined before c++17"
 # endif
 
+# ifdef __cpp_lib_to_string
+#   error "__cpp_lib_to_string should not be defined before c++23"
+# endif
+
 # ifdef __cpp_lib_to_underlying
 #   error "__cpp_lib_to_underlying should not be defined before c++23"
 # endif
@@ -1574,6 +1698,10 @@
 #   error "__cpp_lib_void_t should not be defined before c++17"
 # endif
 
+# ifdef __cpp_lib_within_lifetime
+#   error "__cpp_lib_within_lifetime should not be defined before c++26"
+# endif
+
 #elif TEST_STD_VER == 17
 
 # ifdef __cpp_lib_adaptor_iterator_pair_constructor
@@ -1630,6 +1758,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_assume_aligned
 #   error "__cpp_lib_assume_aligned should not be defined before c++20"
 # endif
@@ -1689,6 +1821,10 @@
 #   error "__cpp_lib_bitops should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_bitset
+#   error "__cpp_lib_bitset should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_bool_constant
 #   error "__cpp_lib_bool_constant should be defined in c++17"
 # endif
@@ -1818,6 +1954,10 @@
 #   error "__cpp_lib_constexpr_vector should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_copyable_function
+#   error "__cpp_lib_copyable_function should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_coroutine
 #   error "__cpp_lib_coroutine should not be defined before c++20"
 # endif
@@ -1894,6 +2034,14 @@
 #   error "__cpp_lib_forward_like should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_fstream_native_handle
+#   error "__cpp_lib_fstream_native_handle should not be defined before c++26"
+# endif
+
+# ifdef __cpp_lib_function_ref
+#   error "__cpp_lib_function_ref should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_gcd_lcm
 #   error "__cpp_lib_gcd_lcm should be defined in c++17"
 # endif
@@ -1932,6 +2080,10 @@
 #   error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++17"
 # endif
 
+# ifdef __cpp_lib_hazard_pointer
+#   error "__cpp_lib_hazard_pointer should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_hypot
 #   error "__cpp_lib_hypot should be defined in c++17"
 # endif
@@ -2231,6 +2383,10 @@
 #   error "__cpp_lib_ranges_zip should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_ratio
+#   error "__cpp_lib_ratio should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_raw_memory_algorithms
 #   error "__cpp_lib_raw_memory_algorithms should be defined in c++17"
 # endif
@@ -2238,6 +2394,10 @@
 #   error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++17"
 # endif
 
+# ifdef __cpp_lib_rcu
+#   error "__cpp_lib_rcu should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_reference_from_temporary
 #   error "__cpp_lib_reference_from_temporary should not be defined before c++23"
 # endif
@@ -2326,6 +2486,10 @@
 #   error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_smart_ptr_owner_equality
+#   error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_source_location
 #   error "__cpp_lib_source_location should not be defined before c++20"
 # endif
@@ -2342,6 +2506,10 @@
 #   error "__cpp_lib_ssize should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_sstream_from_string_view
+#   error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_stacktrace
 #   error "__cpp_lib_stacktrace should not be defined before c++23"
 # endif
@@ -2376,10 +2544,18 @@
 #   error "__cpp_lib_string_view should have the value 201606L in c++17"
 # endif
 
+# ifdef __cpp_lib_submdspan
+#   error "__cpp_lib_submdspan should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_syncbuf
 #   error "__cpp_lib_syncbuf should not be defined before c++20"
 # endif
 
+# ifdef __cpp_lib_text_encoding
+#   error "__cpp_lib_text_encoding should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_three_way_comparison
 #   error "__cpp_lib_three_way_comparison should not be defined before c++20"
 # endif
@@ -2405,6 +2581,10 @@
 #   endif
 # endif
 
+# ifdef __cpp_lib_to_string
+#   error "__cpp_lib_to_string should not be defined before c++23"
+# endif
+
 # ifdef __cpp_lib_to_underlying
 #   error "__cpp_lib_to_underlying should not be defined before c++23"
 # endif
@@ -2484,6 +2664,10 @@
 #   error "__cpp_lib_void_t should have the value 201411L in c++17"
 # endif
 
+# ifdef __cpp_lib_within_lifetime
+#   error "__cpp_lib_within_lifetime should not be defined before c++26"
+# endif
+
 #elif TEST_STD_VER == 20
 
 # ifdef __cpp_lib_adaptor_iterator_pair_constructor
@@ -2540,6 +2724,10 @@
 #   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_assume_aligned
 #   error "__cpp_lib_assume_aligned should be defined in c++20"
 # endif
@@ -2671,6 +2859,10 @@
 #   endif
 # endif
 
+# ifdef __cpp_lib_bitset
+#   error "__cpp_lib_bitset should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_bool_constant
 #   error "__cpp_lib_bool_constant should be defined in c++20"
 # endif
@@ -2851,6 +3043,10 @@
 #   error "__cpp_lib_constexpr_vector should have the value 201907L in c++20"
 # endif
 
+# ifdef __cpp_lib_copyable_function
+#   error "__cpp_lib_copyable_function should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_coroutine
 #   error "__cpp_lib_coroutine should be defined in c++20"
 # endif
@@ -2954,6 +3150,14 @@
 #   error "__cpp_lib_forward_like should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_fstream_native_handle
+#   error "__cpp_lib_fstream_native_handle should not be defined before c++26"
+# endif
+
+# ifdef __cpp_lib_function_ref
+#   error "__cpp_lib_function_ref should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_gcd_lcm
 #   error "__cpp_lib_gcd_lcm should be defined in c++20"
 # endif
@@ -2995,6 +3199,10 @@
 #   error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++20"
 # endif
 
+# ifdef __cpp_lib_hazard_pointer
+#   error "__cpp_lib_hazard_pointer should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_hypot
 #   error "__cpp_lib_hypot should be defined in c++20"
 # endif
@@ -3360,6 +3568,10 @@
 #   error "__cpp_lib_ranges_zip should not be defined before c++23"
 # endif
 
+# ifdef __cpp_lib_ratio
+#   error "__cpp_lib_ratio should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_raw_memory_algorithms
 #   error "__cpp_lib_raw_memory_algorithms should be defined in c++20"
 # endif
@@ -3367,6 +3579,10 @@
 #   error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++20"
 # endif
 
+# ifdef __cpp_lib_rcu
+#   error "__cpp_lib_rcu should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_reference_from_temporary
 #   error "__cpp_lib_reference_from_temporary should not be defined before c++23"
 # endif
@@ -3479,6 +3695,10 @@
 #   endif
 # endif
 
+# ifdef __cpp_lib_smart_ptr_owner_equality
+#   error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
+# endif
+
 # if __has_builtin(__builtin_source_location) && !(defined(TEST_APPLE_CLANG_VER) && TEST_APPLE_CLANG_VER <= 1403)
 #   ifndef __cpp_lib_source_location
 #     error "__cpp_lib_source_location should be defined in c++20"
@@ -3510,6 +3730,10 @@
 #   error "__cpp_lib_ssize should have the value 201902L in c++20"
 # endif
 
+# ifdef __cpp_lib_sstream_from_string_view
+#   error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
+# endif
+
 # ifdef __cpp_lib_stacktrace
 #   error "__cpp_lib_stacktrace should not be defined before c++23"
 # endif
@@ -3547,6 +3771,10 @@
 #   error "__cpp_lib_string_view should have the value 201803L in c++20"
 # endif
 
+# ifdef __cpp_lib_submdspan
+#   error "__cpp_lib_submdspan should not be defined before c++26"
+# endif
+
 # if !defined(_LIBCPP_VERSION)
 #   ifndef __cpp_lib_syncbuf
 #     error "__cpp_lib_syncbuf should be defined in c++20"
@@ -3560,6 +3788,10 @@
 #   endif
 # endif
 
+# ifdef __cpp_lib_text_encoding
+#   error "__cpp_lib_text_encoding should not be defined before c++26"
+# endif
+
 # if !defined(_LIBCPP_VERSION)
 #   ifndef __cpp_lib_three_way_comparison
 #     error "__cpp_lib_three_way_comparison should be defined in c++20"
@@ -3600,6 +3832,10 @@
 #   endif
 # endif
 
+# ifdef __cpp_lib_to_string
+#   error "__cpp_lib_to_string should not be defined before c++23"
+# endif
+
 # ifdef __cpp_lib_to_underlying
 #   error "__cpp_lib_to_underlying should not be defined before c++23"
 # endif
@@ -3685,6 +3921,10 @@
 #   error "__cpp_lib_void_t should have the value 201411L in c++20"
 # endif
 
+# ifdef __cpp_lib_within_lifetime
+#   error "__cpp_lib_within_lifetime should not be defined before c++26"
+# endif
+
 #elif TEST_STD_VER == 23
 
 # ifndef __cpp_lib_adaptor_iterator_pair_constructor
@@ -3756,6 +3996,10 @@
 #   endif
 # endif
 
+# ifdef __cpp_lib_associative_heterogeneous_insertion
+#   error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_assume_aligned
 #   error "__cpp_lib_assume_aligned should be defined in c++23"
 # endif
@@ -3896,6 +4140,10 @@
 #   endif
 # endif
 
+# ifdef __cpp_lib_bitset
+#   error "__cpp_lib_bitset should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_bool_constant
 #   error "__cpp_lib_bool_constant should be defined in c++23"
 # endif
@@ -4097,6 +4345,10 @@
 #   error "__cpp_lib_constexpr_vector should have the value 201907L in c++23"
 # endif
 
+# ifdef __cpp_lib_copyable_function
+#   error "__cpp_lib_copyable_function should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_coroutine
 #   error "__cpp_lib_coroutine should be defined in c++23"
 # endif
@@ -4218,6 +4470,14 @@
 #   error "__cpp_lib_forward_like should have the value 202207L in c++23"
 # endif
 
+# ifdef __cpp_lib_fstream_native_handle
+#   error "__cpp_lib_fstream_native_handle should not be defined before c++26"
+# endif
+
+# ifdef __cpp_lib_function_ref
+#   error "__cpp_lib_function_ref should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_gcd_lcm
 #   error "__cpp_lib_gcd_lcm should be defined in c++23"
 # endif
@@ -4259,6 +4519,10 @@
 #   error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++23"
 # endif
 
+# ifdef __cpp_lib_hazard_pointer
+#   error "__cpp_lib_hazard_pointer should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_hypot
 #   error "__cpp_lib_hypot should be defined in c++23"
 # endif
@@ -4732,6 +4996,10 @@
 #   endif
 # endif
 
+# ifdef __cpp_lib_ratio
+#   error "__cpp_lib_ratio should not be defined before c++26"
+# endif
+
 # ifndef __cpp_lib_raw_memory_algorithms
 #   error "__cpp_lib_raw_memory_algorithms should be defined in c++23"
 # endif
@@ -4739,6 +5007,10 @@
 #   error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++23"
 # endif
 
+# ifdef __cpp_lib_rcu
+#   error "__cpp_lib_rcu should not be defined before c++26"
+# endif
+
 # if !defined(_LIBCPP_VERSION)
 #   ifndef __cpp_lib_reference_from_temporary
 #     error "__cpp_lib_reference_from_temporary should be defined in c++23"
@@ -4860,6 +5132,10 @@
 #   endif
 # endif
 
+# ifdef __cpp_lib_smart_ptr_owner_equality
+#   error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"
+# endif
+
 # if __has_builtin(__builtin_source_location) && !(defined(TEST_APPLE_CLANG_VER) && TEST_APPLE_CLANG_VER <= 1403)
 #   ifndef __cpp_lib_source_location
 #     error "__cpp_lib_source_location should be defined in c++23"
@@ -4900,6 +5176,10 @@
 #   error "__cpp_lib_ssize should have the value 201902L in c++23"
 # endif
 
+# ifdef __cpp_lib_sstream_from_string_view
+#   error "__cpp_lib_sstream_from_string_view should not be defined before c++26"
+# endif
+
 # if !defined(_LIBCPP_VERSION)
 #   ifndef __cpp_lib_stacktrace
 #     error "__cpp_lib_stacktrace should be defined in c++23"
@@ -4955,6 +5235,10 @@
 #   error "__cpp_lib_string_view should have the value 201803L in c++23"
 # endif
 
+# ifdef __cpp_lib_submdspan
+#   error "__cpp_lib_submdspan should not be defined before c++26"
+# endif
+
 # if !defined(_LIBCPP_VERSION)
 #   ifndef __cpp_lib_syncbuf
 #     error "__cpp_lib_syncbuf should be defined in c++23"
@@ -4968,6 +5252,10 @@
 #   endif
 # endif
 
+# ifdef __cpp_lib_text_encoding
+#   error "__cpp_lib_text_encoding should not be defined before c++26"
+# endif
+
 # if !defined(_LIBCPP_VERSION)
 #   ifndef __cpp_lib_three_way_comparison
 #     error "__cpp_lib_three_way_comparison should be defined in c++23"
@@ -5008,6 +5296,19 @@
 #   endif
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_to_string
+#     error "__cpp_lib_to_string should be defined in c++23"
+#   endif
+#   if __cpp_lib_to_string != 202306L
+#     error "__cpp_lib_to_string should have the value 202306L in c++23"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_to_string
+#     error "__cpp_lib_to_string should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # ifndef __cpp_lib_to_underlying
 #   error "__cpp_lib_to_underlying should be defined in c++23"
 # endif
@@ -5099,6 +5400,10 @@
 #   error "__cpp_lib_void_t should have the value 201411L in c++23"
 # endif
 
+# ifdef __cpp_lib_within_lifetime
+#   error "__cpp_lib_within_lifetime should not be defined before c++26"
+# endif
+
 #elif TEST_STD_VER > 23
 
 # ifndef __cpp_lib_adaptor_iterator_pair_constructor
@@ -5170,6 +5475,19 @@
 #   endif
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_associative_heterogeneous_insertion
+#     error "__cpp_lib_associative_heterogeneous_insertion should be defined in c++26"
+#   endif
+#   if __cpp_lib_associative_heterogeneous_insertion != 202306L
+#     error "__cpp_lib_associative_heterogeneous_insertion should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_associative_heterogeneous_insertion
+#     error "__cpp_lib_associative_heterogeneous_insertion should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # ifndef __cpp_lib_assume_aligned
 #   error "__cpp_lib_assume_aligned should be defined in c++26"
 # endif
@@ -5274,8 +5592,8 @@
 #   ifndef __cpp_lib_bind_back
 #     error "__cpp_lib_bind_back should be defined in c++26"
 #   endif
-#   if __cpp_lib_bind_back != 202202L
-#     error "__cpp_lib_bind_back should have the value 202202L in c++26"
+#   if __cpp_lib_bind_back != 202306L
+#     error "__cpp_lib_bind_back should have the value 202306L in c++26"
 #   endif
 # else // _LIBCPP_VERSION
 #   ifdef __cpp_lib_bind_back
@@ -5286,8 +5604,8 @@
 # ifndef __cpp_lib_bind_front
 #   error "__cpp_lib_bind_front should be defined in c++26"
 # endif
-# if __cpp_lib_bind_front != 201907L
-#   error "__cpp_lib_bind_front should have the value 201907L in c++26"
+# if __cpp_lib_bind_front != 202306L
+#   error "__cpp_lib_bind_front should have the value 202306L in c++26"
 # endif
 
 # ifndef __cpp_lib_bit_cast
@@ -5310,6 +5628,19 @@
 #   endif
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_bitset
+#     error "__cpp_lib_bitset should be defined in c++26"
+#   endif
+#   if __cpp_lib_bitset != 202306L
+#     error "__cpp_lib_bitset should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_bitset
+#     error "__cpp_lib_bitset should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # ifndef __cpp_lib_bool_constant
 #   error "__cpp_lib_bool_constant should be defined in c++26"
 # endif
@@ -5511,6 +5842,19 @@
 #   error "__cpp_lib_constexpr_vector should have the value 201907L in c++26"
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_copyable_function
+#     error "__cpp_lib_copyable_function should be defined in c++26"
+#   endif
+#   if __cpp_lib_copyable_function != 202306L
+#     error "__cpp_lib_copyable_function should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_copyable_function
+#     error "__cpp_lib_copyable_function should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # ifndef __cpp_lib_coroutine
 #   error "__cpp_lib_coroutine should be defined in c++26"
 # endif
@@ -5632,6 +5976,32 @@
 #   error "__cpp_lib_forward_like should have the value 202207L in c++26"
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_fstream_native_handle
+#     error "__cpp_lib_fstream_native_handle should be defined in c++26"
+#   endif
+#   if __cpp_lib_fstream_native_handle != 202306L
+#     error "__cpp_lib_fstream_native_handle should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_fstream_native_handle
+#     error "__cpp_lib_fstream_native_handle should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_function_ref
+#     error "__cpp_lib_function_ref should be defined in c++26"
+#   endif
+#   if __cpp_lib_function_ref != 202306L
+#     error "__cpp_lib_function_ref should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_function_ref
+#     error "__cpp_lib_function_ref should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # ifndef __cpp_lib_gcd_lcm
 #   error "__cpp_lib_gcd_lcm should be defined in c++26"
 # endif
@@ -5673,6 +6043,19 @@
 #   error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++26"
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_hazard_pointer
+#     error "__cpp_lib_hazard_pointer should be defined in c++26"
+#   endif
+#   if __cpp_lib_hazard_pointer != 202306L
+#     error "__cpp_lib_hazard_pointer should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_hazard_pointer
+#     error "__cpp_lib_hazard_pointer should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # ifndef __cpp_lib_hypot
 #   error "__cpp_lib_hypot should be defined in c++26"
 # endif
@@ -6146,6 +6529,19 @@
 #   endif
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_ratio
+#     error "__cpp_lib_ratio should be defined in c++26"
+#   endif
+#   if __cpp_lib_ratio != 202306L
+#     error "__cpp_lib_ratio should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_ratio
+#     error "__cpp_lib_ratio should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # ifndef __cpp_lib_raw_memory_algorithms
 #   error "__cpp_lib_raw_memory_algorithms should be defined in c++26"
 # endif
@@ -6153,6 +6549,19 @@
 #   error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++26"
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_rcu
+#     error "__cpp_lib_rcu should be defined in c++26"
+#   endif
+#   if __cpp_lib_rcu != 202306L
+#     error "__cpp_lib_rcu should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_rcu
+#     error "__cpp_lib_rcu should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # if !defined(_LIBCPP_VERSION)
 #   ifndef __cpp_lib_reference_from_temporary
 #     error "__cpp_lib_reference_from_temporary should be defined in c++26"
@@ -6274,6 +6683,19 @@
 #   endif
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_smart_ptr_owner_equality
+#     error "__cpp_lib_smart_ptr_owner_equality should be defined in c++26"
+#   endif
+#   if __cpp_lib_smart_ptr_owner_equality != 202306L
+#     error "__cpp_lib_smart_ptr_owner_equality should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_smart_ptr_owner_equality
+#     error "__cpp_lib_smart_ptr_owner_equality should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # if __has_builtin(__builtin_source_location) && !(defined(TEST_APPLE_CLANG_VER) && TEST_APPLE_CLANG_VER <= 1403)
 #   ifndef __cpp_lib_source_location
 #     error "__cpp_lib_source_location should be defined in c++26"
@@ -6314,6 +6736,19 @@
 #   error "__cpp_lib_ssize should have the value 201902L in c++26"
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_sstream_from_string_view
+#     error "__cpp_lib_sstream_from_string_view should be defined in c++26"
+#   endif
+#   if __cpp_lib_sstream_from_string_view != 202306L
+#     error "__cpp_lib_sstream_from_string_view should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_sstream_from_string_view
+#     error "__cpp_lib_sstream_from_string_view should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # if !defined(_LIBCPP_VERSION)
 #   ifndef __cpp_lib_stacktrace
 #     error "__cpp_lib_stacktrace should be defined in c++26"
@@ -6369,6 +6804,19 @@
 #   error "__cpp_lib_string_view should have the value 201803L in c++26"
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_submdspan
+#     error "__cpp_lib_submdspan should be defined in c++26"
+#   endif
+#   if __cpp_lib_submdspan != 202306L
+#     error "__cpp_lib_submdspan should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_submdspan
+#     error "__cpp_lib_submdspan should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # if !defined(_LIBCPP_VERSION)
 #   ifndef __cpp_lib_syncbuf
 #     error "__cpp_lib_syncbuf should be defined in c++26"
@@ -6382,6 +6830,19 @@
 #   endif
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_text_encoding
+#     error "__cpp_lib_text_encoding should be defined in c++26"
+#   endif
+#   if __cpp_lib_text_encoding != 202306L
+#     error "__cpp_lib_text_encoding should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_text_encoding
+#     error "__cpp_lib_text_encoding should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # if !defined(_LIBCPP_VERSION)
 #   ifndef __cpp_lib_three_way_comparison
 #     error "__cpp_lib_three_way_comparison should be defined in c++26"
@@ -6422,6 +6883,19 @@
 #   endif
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_to_string
+#     error "__cpp_lib_to_string should be defined in c++26"
+#   endif
+#   if __cpp_lib_to_string != 202306L
+#     error "__cpp_lib_to_string should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_to_string
+#     error "__cpp_lib_to_string should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 # ifndef __cpp_lib_to_underlying
 #   error "__cpp_lib_to_underlying should be defined in c++26"
 # endif
@@ -6513,5 +6987,18 @@
 #   error "__cpp_lib_void_t should have the value 201411L in c++26"
 # endif
 
+# if !defined(_LIBCPP_VERSION)
+#   ifndef __cpp_lib_within_lifetime
+#     error "__cpp_lib_within_lifetime should be defined in c++26"
+#   endif
+#   if __cpp_lib_within_lifetime != 202306L
+#     error "__cpp_lib_within_lifetime should have the value 202306L in c++26"
+#   endif
+# else // _LIBCPP_VERSION
+#   ifdef __cpp_lib_within_lifetime
+#     error "__cpp_lib_within_lifetime should not be defined because it is unimplemented in libc++!"
+#   endif
+# endif
+
 #endif // TEST_STD_VER > 23
 

diff  --git a/libcxx/utils/generate_feature_test_macro_components.py b/libcxx/utils/generate_feature_test_macro_components.py
index 19738d80e6f18..72ae5bdd653a8 100755
--- a/libcxx/utils/generate_feature_test_macro_components.py
+++ b/libcxx/utils/generate_feature_test_macro_components.py
@@ -87,7 +87,11 @@ def add_version_header(tc):
         },
         {
             "name": "__cpp_lib_allocate_at_least",
-            "values": {"c++23": 202106},
+            "values": {
+                          "c++23": 202106,
+                          # Note LWG3887 Version macro for allocate_at_least
+                          #"c++26": 202302, # P2652R2 Disallow User Specialization of allocator_traits
+                      },
             "headers": ["memory"],
         },
         {
@@ -133,6 +137,12 @@ def add_version_header(tc):
             "headers": ["map", "set", "unordered_map", "unordered_set"],
             "unimplemented": True,
         },
+        {
+            "name": "__cpp_lib_associative_heterogeneous_insertion",
+            "values": {"c++26": 202306}, # P2363R5 Extending associative containers with the remaining heterogeneous overloads
+            "headers": ["map", "set", "unordered_map", "unordered_set"],
+            "unimplemented": True,
+        },
         {
             "name": "__cpp_lib_assume_aligned",
             "values": {"c++20": 201811},
@@ -192,13 +202,19 @@ def add_version_header(tc):
         },
         {
             "name": "__cpp_lib_bind_back",
-            "values": {"c++23": 202202},
+            "values": {
+                          "c++23": 202202,
+                          "c++26": 202306, # P2714R1 Bind front and back to NTTP callables
+                      },
             "headers": ["functional"],
             "unimplemented": True,
         },
         {
             "name": "__cpp_lib_bind_front",
-            "values": {"c++20": 201907},
+            "values": {
+                          "c++20": 201907,
+                          "c++26": 202306, # P2714R1 Bind front and back to NTTP callables
+                      },
             "headers": ["functional"],
         },
         {
@@ -212,6 +228,12 @@ def add_version_header(tc):
             "headers": ["bit"],
             "unimplemented": True,
         },
+        {
+            "name": "__cpp_lib_bitset",
+            "values": {"c++26": 202306}, # P2697R1 Interfacing bitset with string_view
+            "headers": ["bitset"],
+            "unimplemented": True,
+        },
         {
             "name": "__cpp_lib_bool_constant",
             "values": {"c++17": 201505},
@@ -255,7 +277,10 @@ def add_version_header(tc):
         },
         {
             "name": "__cpp_lib_chrono",
-            "values": {"c++17": 201611},
+            "values": {
+                          "c++17": 201611,
+                          #"c++26": 202306, # P2592R3 Hashing support for std::chrono value classes
+                      },
             "headers": ["chrono"],
         },
         {
@@ -280,7 +305,10 @@ def add_version_header(tc):
         },
         {
             "name": "__cpp_lib_constexpr_algorithms",
-            "values": {"c++20": 201806},
+            "values": {
+                          "c++20": 201806,
+                          #"c++26": 202306, # P2562R1 constexpr Stable Sorting
+                      },
             "headers": ["algorithm", "utility"],
         },
         {
@@ -359,6 +387,12 @@ def add_version_header(tc):
             "values": {"c++20": 201907},
             "headers": ["vector"],
         },
+        {
+            "name": "__cpp_lib_copyable_function",
+            "values": {"c++26": 202306}, # P2548R6 copyable_function
+            "headers": ["functional"],
+            "unimplemented": True,
+        },
         {
             "name": "__cpp_lib_coroutine",
             "values": {"c++20": 201902},
@@ -428,6 +462,10 @@ def add_version_header(tc):
                 "c++20": 202106,
                 # "c++23": 202207, Not implemented P2419R2 Clarify handling of encodings in localized formatting of chrono types
             },
+            # Note these three papers are adopted at the June 2023 meeting and have sequential numbering
+            # 202304 P2510R3 Formatting pointers
+            # 202305 P2757R3 Type-checking format args
+            # 202306 P2637R3 Member Visit
             "headers": ["format"],
             "unimplemented": True,
         },
@@ -447,6 +485,18 @@ def add_version_header(tc):
             "values": {"c++23": 202207},
             "headers": ["utility"],
         },
+        {
+            "name": "__cpp_lib_fstream_native_handle",
+            "values": {"c++26": 202306}, # P1759R6 Native handles and file streams
+            "headers": ["fstream"],
+            "unimplemented": True,
+        },
+        {
+            "name": "__cpp_lib_function_ref",
+            "values": {"c++26": 202306}, # P0792R14 function_ref: a type-erased callable reference
+            "headers": ["functional"],
+            "unimplemented": True,
+        },
         {
             "name": "__cpp_lib_gcd_lcm",
             "values": {"c++17": 201606},
@@ -474,6 +524,12 @@ def add_version_header(tc):
             "values": {"c++17": 201606},
             "headers": ["type_traits"],
         },
+        {
+            "name": "__cpp_lib_hazard_pointer",
+            "values": {"c++26": 202306},  # P2530R3 Hazard Pointers for C++26
+            "headers": ["hazard_pointer"],# TODO verify this entry since the paper was underspecified.
+            "unimplemented": True,
+        },
         {
             "name": "__cpp_lib_hypot",
             "values": {"c++17": 201603},
@@ -679,7 +735,10 @@ def add_version_header(tc):
         },
         {
             "name": "__cpp_lib_not_fn",
-            "values": {"c++17": 201603},
+            "values": {
+                          "c++17": 201603,
+                          #"c++26": 202306, # P2714R1 Bind front and back to NTTP callables
+                      },
             "headers": ["functional"],
         },
         {
@@ -785,11 +844,23 @@ def add_version_header(tc):
             "headers": ["ranges", "tuple", "utility"],
             "unimplemented": True,
         },
+        {
+            "name": "__cpp_lib_ratio",
+            "values": {"c++26": 202306}, # P2734R0 Adding the new SI prefixes
+            "headers": ["ratio"],
+            "unimplemented": True,
+        },
         {
             "name": "__cpp_lib_raw_memory_algorithms",
             "values": {"c++17": 201606},
             "headers": ["memory"],
         },
+        {
+            "name": "__cpp_lib_rcu",
+            "values": {"c++26": 202306}, # P2545R4 Read-Copy Update (RCU)
+            "headers": ["rcu"],          # TODO verify this entry since the paper was underspecified.
+            "unimplemented": True,
+        },
         {
             "name": "__cpp_lib_reference_from_temporary",
             "values": {"c++23": 202202},
@@ -863,6 +934,12 @@ def add_version_header(tc):
             "headers": ["memory"],
             "unimplemented": True,
         },
+        {
+            "name": "__cpp_lib_smart_ptr_owner_equality",
+            "values": {"c++26": 202306}, # P1901R2 Enabling the Use of weak_ptr as Keys in Unordered Associative Containers
+            "headers": ["memory"],
+            "unimplemented": True,
+        },
         {
             "name": "__cpp_lib_source_location",
             "values": {"c++20": 201907},
@@ -886,6 +963,12 @@ def add_version_header(tc):
             "values": {"c++20": 201902},
             "headers": ["iterator"],
         },
+        {
+            "name": "__cpp_lib_sstream_from_string_view",
+            "values": {"c++26": 202306},  # P2495R3 Interfacing stringstreams with string_view
+            "headers": ["sstream"],
+            "unimplemented": True,
+        },
         {
             "name": "__cpp_lib_stacktrace",
             "values": {"c++23": 202011},
@@ -922,12 +1005,24 @@ def add_version_header(tc):
             "values": {"c++17": 201606, "c++20": 201803},
             "headers": ["string", "string_view"],
         },
+        {
+            "name": "__cpp_lib_submdspan",
+            "values": {"c++26": 202306}, # P2630R4 submdspan
+            "headers": ["mdspan"],
+            "unimplemented": True,
+        },
         {
             "name": "__cpp_lib_syncbuf",
             "values": {"c++20": 201803},
             "headers": ["syncstream"],
             "unimplemented": True,
         },
+        {
+            "name": "__cpp_lib_text_encoding",
+            "values": {"c++26": 202306}, # P1885R12 Naming Text Encodings to Demystify Them
+            "headers": ["text_encoding"],
+            "unimplemented": True,
+        },
         {
             "name": "__cpp_lib_three_way_comparison",
             "values": {"c++20": 201907},
@@ -946,10 +1041,19 @@ def add_version_header(tc):
         },
         {
             "name": "__cpp_lib_to_chars",
-            "values": {"c++17": 201611},
+            "values": {
+                         "c++17": 201611,
+                         #"c++26: 202306, # P2497R0 Testing for success or failure of <charconv> functions
+                      },
             "headers": ["charconv"],
             "unimplemented": True,
         },
+        {
+            "name": "__cpp_lib_to_string",
+            "values": {"c++23": 202306}, # P2587R3 to_string or not to_string
+            "headers": ["string"],
+            "unimplemented": True,
+        },
         {
             "name": "__cpp_lib_to_underlying",
             "values": {"c++23": 202102},
@@ -1015,6 +1119,12 @@ def add_version_header(tc):
             "values": {"c++17": 201411},
             "headers": ["type_traits"],
         },
+        {
+            "name": "__cpp_lib_within_lifetime",
+            "values": {"c++26": 202306}, # P2641R4 Checking if a union alternative is active
+            "headers": ["type_traits"],
+            "unimplemented": True,
+        },
     ]
 ]
 
@@ -1048,6 +1158,7 @@ def add_version_header(tc):
 lit_markup = {
     "barrier": ["UNSUPPORTED: no-threads"],
     "filesystem": ["UNSUPPORTED: no-filesystem"],
+    "fstream": ["UNSUPPORTED: no-localization"],
     "iomanip": ["UNSUPPORTED: no-localization"],
     "ios": ["UNSUPPORTED: no-localization"],
     "iostream": ["UNSUPPORTED: no-localization"],
@@ -1059,6 +1170,7 @@ def add_version_header(tc):
     "regex": ["UNSUPPORTED: no-localization"],
     "semaphore": ["UNSUPPORTED: no-threads"],
     "shared_mutex": ["UNSUPPORTED: no-threads"],
+    "sstream": ["UNSUPPORTED: no-localization"],
     "stdatomic.h": ["UNSUPPORTED: no-threads"],
     "stop_token": ["UNSUPPORTED: no-threads"],
     "thread": ["UNSUPPORTED: no-threads"],


        


More information about the libcxx-commits mailing list