-
Notifications
You must be signed in to change notification settings - Fork 13.6k
[libc++] Update status after the Kona meeting. #72421
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@llvm/pr-subscribers-libcxx Author: Mark de Wever (mordante) ChangesThis updates:
Patch is 115.76 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/72421.diff 25 Files Affected:
diff --git a/libcxx/docs/FeatureTestMacroTable.rst b/libcxx/docs/FeatureTestMacroTable.rst
index 42bf6eb46212d07..9b4e46404d658ea 100644
--- a/libcxx/docs/FeatureTestMacroTable.rst
+++ b/libcxx/docs/FeatureTestMacroTable.rst
@@ -236,6 +236,8 @@ Status
--------------------------------------------------- -----------------
``__cpp_lib_format`` *unimplemented*
--------------------------------------------------- -----------------
+ ``__cpp_lib_format_uchar`` *unimplemented*
+ --------------------------------------------------- -----------------
``__cpp_lib_generic_unordered_lookup`` ``201811L``
--------------------------------------------------- -----------------
``__cpp_lib_int_pow2`` ``202002L``
@@ -342,6 +344,8 @@ Status
--------------------------------------------------- -----------------
``__cpp_lib_print`` *unimplemented*
--------------------------------------------------- -----------------
+ ``__cpp_lib_ranges_as_const`` *unimplemented*
+ --------------------------------------------------- -----------------
``__cpp_lib_ranges_as_rvalue`` ``202207L``
--------------------------------------------------- -----------------
``__cpp_lib_ranges_chunk`` *unimplemented*
@@ -378,6 +382,8 @@ Status
--------------------------------------------------- -----------------
``__cpp_lib_to_underlying`` ``202102L``
--------------------------------------------------- -----------------
+ ``__cpp_lib_tuple_like`` *unimplemented*
+ --------------------------------------------------- -----------------
``__cpp_lib_unreachable`` ``202202L``
--------------------------------------------------- -----------------
**C++ 26**
@@ -392,18 +398,44 @@ Status
--------------------------------------------------- -----------------
``__cpp_lib_copyable_function`` *unimplemented*
--------------------------------------------------- -----------------
+ ``__cpp_lib_debugging`` *unimplemented*
+ --------------------------------------------------- -----------------
+ ``__cpp_lib_freestanding_algorithm`` *unimplemented*
+ --------------------------------------------------- -----------------
+ ``__cpp_lib_freestanding_array`` *unimplemented*
+ --------------------------------------------------- -----------------
+ ``__cpp_lib_freestanding_cstring`` *unimplemented*
+ --------------------------------------------------- -----------------
+ ``__cpp_lib_freestanding_expected`` *unimplemented*
+ --------------------------------------------------- -----------------
+ ``__cpp_lib_freestanding_mdspan`` *unimplemented*
+ --------------------------------------------------- -----------------
+ ``__cpp_lib_freestanding_optional`` *unimplemented*
+ --------------------------------------------------- -----------------
+ ``__cpp_lib_freestanding_string_view`` *unimplemented*
+ --------------------------------------------------- -----------------
+ ``__cpp_lib_freestanding_variant`` *unimplemented*
+ --------------------------------------------------- -----------------
``__cpp_lib_fstream_native_handle`` *unimplemented*
--------------------------------------------------- -----------------
``__cpp_lib_function_ref`` *unimplemented*
--------------------------------------------------- -----------------
``__cpp_lib_hazard_pointer`` *unimplemented*
--------------------------------------------------- -----------------
+ ``__cpp_lib_linalg`` *unimplemented*
+ --------------------------------------------------- -----------------
+ ``__cpp_lib_out_ptr`` *unimplemented*
+ --------------------------------------------------- -----------------
``__cpp_lib_ratio`` ``202306L``
--------------------------------------------------- -----------------
``__cpp_lib_rcu`` *unimplemented*
--------------------------------------------------- -----------------
+ ``__cpp_lib_saturation_arithmetic`` *unimplemented*
+ --------------------------------------------------- -----------------
``__cpp_lib_smart_ptr_owner_equality`` *unimplemented*
--------------------------------------------------- -----------------
+ ``__cpp_lib_span_initializer_list`` *unimplemented*
+ --------------------------------------------------- -----------------
``__cpp_lib_sstream_from_string_view`` *unimplemented*
--------------------------------------------------- -----------------
``__cpp_lib_submdspan`` *unimplemented*
@@ -412,6 +444,8 @@ Status
--------------------------------------------------- -----------------
``__cpp_lib_to_chars`` *unimplemented*
--------------------------------------------------- -----------------
+ ``__cpp_lib_tuple_like`` *unimplemented*
+ --------------------------------------------------- -----------------
``__cpp_lib_within_lifetime`` *unimplemented*
=================================================== =================
diff --git a/libcxx/docs/Helpers/Styles.rst b/libcxx/docs/Helpers/Styles.rst
index 31352efde608fcf..67560351d734397 100644
--- a/libcxx/docs/Helpers/Styles.rst
+++ b/libcxx/docs/Helpers/Styles.rst
@@ -23,6 +23,7 @@
.spaceship { background-color: #B0E0E6; }
.fc { background-color: #8EAF63; white-space:nowrap; }
.concurrency { background-color: #909090; white-space:nowrap; }
+ .dr { background-color: #FFFF99; }
</style>
.. role:: notstarted
@@ -45,6 +46,7 @@
.. role:: spaceship
.. role:: fc
.. role:: concurrency
+.. role:: dr
.. |chrono| replace:: :chrono:`chrono`
.. |format| replace:: :format:`format`
@@ -52,6 +54,7 @@
.. |spaceship| replace:: :spaceship:`spaceship`
.. |flat_containers| replace:: :fc:`flat containers`
.. |concurrency TS| replace:: :concurrency:`concurrency TS`
+.. |DR| replace:: :dr:`Defect Report`
.. |sect| unicode:: U+00A7
.. |hellip| unicode:: U+2026
diff --git a/libcxx/docs/Status/Cxx2cIssues.csv b/libcxx/docs/Status/Cxx2cIssues.csv
index a928b69ea10c489..fe0f13f6e8cb2c2 100644
--- a/libcxx/docs/Status/Cxx2cIssues.csv
+++ b/libcxx/docs/Status/Cxx2cIssues.csv
@@ -17,6 +17,28 @@
"`3938 <https://wg21.link/LWG3938>`__","Cannot use ``std::expected`` monadic ops with move-only ``error_type``","Varna June 2023","|Complete|","18.0",""
"`3940 <https://wg21.link/LWG3940>`__","``std::expected<void, E>::value()`` also needs ``E`` to be copy constructible","Varna June 2023","","",""
"","","","","",""
+"`2392 <https://wg21.link/LWG2392>`__","""character type"" is used but not defined","Kona November 2023","","",""
+"`3203 <https://wg21.link/LWG3203>`__","``span`` element access invalidation","Kona November 2023","","",""
+"`3305 <https://wg21.link/LWG3305>`__","``any_cast<void>``","Kona November 2023","","",""
+"`3431 <https://wg21.link/LWG3431>`__","``<=>`` for containers should require ``three_way_comparable<T>`` instead of ``<=>``","Kona November 2023","","",""
+"`3749 <https://wg21.link/LWG3749>`__","``common_iterator`` should handle integer-class difference types","Kona November 2023","","",""
+"`3809 <https://wg21.link/LWG3809>`__","Is ``std::subtract_with_carry_engine<uint16_t>`` supposed to work","Kona November 2023","","",""
+"`3892 <https://wg21.link/LWG3892>`__","Incorrect formatting of nested ranges and tuples","Kona November 2023","|Complete|","17.0","|format|"
+"`3897 <https://wg21.link/LWG3897>`__","``inout_ptr`` will not update raw pointer to 0","Kona November 2023","","",""
+"`3946 <https://wg21.link/LWG3946>`__","The definition of ``const_iterator_t`` should be reworked","Kona November 2023","","",""
+"`3947 <https://wg21.link/LWG3947>`__","Unexpected constraints on ``adjacent_transform_view::base()``","Kona November 2023","","","|ranges|"
+"`3948 <https://wg21.link/LWG3948>`__","``possibly-const-range and as-const-pointer`` should be ``noexcept``","Kona November 2023","","","|ranges|"
+"`3949 <https://wg21.link/LWG3949>`__","``std::atomic<bool>``'s trivial destructor dropped in C++17 spec wording","Kona November 2023","","",""
+"`3951 <https://wg21.link/LWG3951>`__","[expected.object.swap]: Using ``value()`` instead of ``has_value()``","Kona November 2023","","",""
+"`3953 <https://wg21.link/LWG3953>`__","``iter_move`` for ``common_iterator`` and ``counted_iterator`` should return ``decltype(auto)``","Kona November 2023","","","|ranges|"
+"`3957 <https://wg21.link/LWG3957>`__","[container.alloc.reqmts] The value category of v should be claimed","Kona November 2023","","",""
+"`3965 <https://wg21.link/LWG3965>`__","Incorrect example in [format.string.escaped] p3 for formatting of combining characters","Kona November 2023","","","|format|"
+"`3970 <https://wg21.link/LWG3970>`__","[mdspan.syn] Missing definition of ``full_extent_t`` and ``full_extent``","Kona November 2023","","",""
+"`3973 <https://wg21.link/LWG3973>`__","Monadic operations should be ADL-proof","Kona November 2023","","",""
+"`3974 <https://wg21.link/LWG3974>`__","``mdspan::operator[]`` should not copy ``OtherIndexTypes``","Kona November 2023","","",""
+"`3987 <https://wg21.link/LWG3987>`__","Including ``<flat_foo>`` doesn't provide ``std::begin``/``end``","Kona November 2023","","","|flat_containers|"
+"`3990 <https://wg21.link/LWG3990>`__","Program-defined specializations of ``std::tuple`` and ``std::variant`` can't be properly supported","Kona November 2023","","",""
+"`4001 <https://wg21.link/LWG4001>`__","``iota_view`` should provide ``empty``","Kona November 2023","","","|ranges|"
+"","","","","",""
"`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","|format|"
"","","","","",""
diff --git a/libcxx/docs/Status/Cxx2cPapers.csv b/libcxx/docs/Status/Cxx2cPapers.csv
index 0590e2d487c27bd..eb5398f66d0e0c1 100644
--- a/libcxx/docs/Status/Cxx2cPapers.csv
+++ b/libcxx/docs/Status/Cxx2cPapers.csv
@@ -27,3 +27,22 @@
"`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","","",""
"","","","","","",""
+"`P0543R3 <https://wg21.link/P0543R3>`__","LWG","Saturation arithmetic","Kona November 2023","","",""
+"`P2407R5 <https://wg21.link/P2407R5>`__","LWG","Freestanding Library: Partial Classes","Kona November 2023","","",""
+"`P2546R5 <https://wg21.link/P2546R5>`__","LWG","Debugging Support","Kona November 2023","","",""
+"`P2905R2 <https://wg21.link/P2905R2>`__","LWG","Runtime format strings","Kona November 2023","","","|format| |DR|"
+"`P2918R2 <https://wg21.link/P2918R2>`__","LWG","Runtime format strings II","Kona November 2023","","","|format|"
+"`P2909R4 <https://wg21.link/P2909R4>`__","LWG","Fix formatting of code units as integers (Dude, where’s my ``char``?)","Kona November 2023","","","|format| |DR|"
+"`P0952R2 <https://wg21.link/P0952R2>`__","LWG","A new specification for ``std::generate_canonical``","Kona November 2023","","",""
+"`P2447R6 <https://wg21.link/P2447R6>`__","LWG","``std::span`` over an initializer list","Kona November 2023","","",""
+"`P2821R5 <https://wg21.link/P2821R5>`__","LWG","``span.at()``","Kona November 2023","","",""
+"`P2868R3 <https://wg21.link/P2868R3>`__","LWG","Remove Deprecated ``std::allocator`` Typedef From C++26","Kona November 2023","","",""
+"`P2870R3 <https://wg21.link/P2870R3>`__","LWG","Remove ``basic_string::reserve()`` From C++26","Kona November 2023","","",""
+"`P2871R3 <https://wg21.link/P2871R3>`__","LWG","Remove Deprecated Unicode Conversion Facets from C++26","Kona November 2023","","",""
+"`P2819R2 <https://wg21.link/P2819R2>`__","LWG","Add tuple protocol to complex","Kona November 2023","","",""
+"`P2937R0 <https://wg21.link/P2937R0>`__","LWG","Freestanding: Remove ``strtok``","Kona November 2023","","",""
+"`P2833R2 <https://wg21.link/P2833R2>`__","LWG","Freestanding Library: inout expected span","Kona November 2023","","",""
+"`P2836R1 <https://wg21.link/P2836R1>`__","LWG","``std::basic_const_iterator`` should follow its underlying type's convertibility","Kona November 2023","","","|DR|"
+"`P2264R7 <https://wg21.link/P2264R7>`__","LWG","Make ``assert()`` macro user friendly for C and C++","Kona November 2023","","",""
+"`P1673R13 <https://wg21.link/P1673R13>`__","LWG","A free function linear algebra interface based on the BLAS","Kona November 2023","","",""
+"","","","","","",""
diff --git a/libcxx/include/version b/libcxx/include/version
index ec0cb0813492383..0db366af9e42e63 100644
--- a/libcxx/include/version
+++ b/libcxx/include/version
@@ -79,6 +79,7 @@ __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_debugging 202311L <debugging>
__cpp_lib_destroying_delete 201806L <new>
__cpp_lib_enable_shared_from_this 201603L <memory>
__cpp_lib_endian 201907L <bit>
@@ -92,8 +93,17 @@ __cpp_lib_expected 202211L <expected>
__cpp_lib_filesystem 201703L <filesystem>
__cpp_lib_format 202106L <format>
__cpp_lib_format_ranges 202207L <format>
+__cpp_lib_format_uchar 202311L <>
__cpp_lib_formatters 202302L <stacktrace> <thread>
__cpp_lib_forward_like 202207L <utility>
+__cpp_lib_freestanding_algorithm 202311L <algorithm>
+__cpp_lib_freestanding_array 202311L <array>
+__cpp_lib_freestanding_cstring 202306L <cstring>
+__cpp_lib_freestanding_expected 202311L <expected>
+__cpp_lib_freestanding_mdspan 202311L <mdspan>
+__cpp_lib_freestanding_optional 202311L <optional>
+__cpp_lib_freestanding_string_view 202311L <string_view>
+__cpp_lib_freestanding_variant 202311L <variant>
__cpp_lib_fstream_native_handle 202306L <fstream>
__cpp_lib_function_ref 202306L <functional>
__cpp_lib_gcd_lcm 201606L <numeric>
@@ -124,6 +134,7 @@ __cpp_lib_is_swappable 201603L <type_traits>
__cpp_lib_jthread 201911L <stop_token> <thread>
__cpp_lib_latch 201907L <latch>
__cpp_lib_launder 201606L <new>
+__cpp_lib_linalg 202311L <linalg>
__cpp_lib_list_remove_return_type 201806L <forward_list> <list>
__cpp_lib_logical_traits 201510L <type_traits>
__cpp_lib_make_from_tuple 201606L <tuple>
@@ -146,13 +157,15 @@ __cpp_lib_not_fn 201603L <functional>
__cpp_lib_null_iterators 201304L <iterator>
__cpp_lib_optional 202110L <optional>
201606L // C++17
-__cpp_lib_out_ptr 202106L <memory>
+__cpp_lib_out_ptr 202311L <memory>
+ 202106L // C++23
__cpp_lib_parallel_algorithm 201603L <algorithm> <numeric>
__cpp_lib_polymorphic_allocator 201902L <memory_resource>
__cpp_lib_print 202207L <ostream> <print>
__cpp_lib_quoted_string_io 201304L <iomanip>
__cpp_lib_ranges 202207L <algorithm> <functional> <iterator>
<memory> <ranges>
+__cpp_lib_ranges_as_const 202207L <ranges>
__cpp_lib_ranges_as_rvalue 202207L <ranges>
__cpp_lib_ranges_chunk 202202L <ranges>
__cpp_lib_ranges_chunk_by 202202L <ranges>
@@ -174,6 +187,7 @@ __cpp_lib_remove_cvref 201711L <type_traits>
__cpp_lib_result_of_sfinae 201210L <functional> <type_traits>
__cpp_lib_robust_nonmodifying_seq_ops 201304L <algorithm>
__cpp_lib_sample 201603L <algorithm>
+__cpp_lib_saturation_arithmetic 202311L <>
__cpp_lib_scoped_lock 201703L <mutex>
__cpp_lib_semaphore 201907L <semaphore>
__cpp_lib_shared_mutex 201505L <shared_mutex>
@@ -186,6 +200,7 @@ __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_span_initializer_list 202311L <span>
__cpp_lib_spanstream 202106L <spanstream>
__cpp_lib_ssize 201902L <iterator>
__cpp_lib_sstream_from_string_view 202306L <sstream>
@@ -211,6 +226,9 @@ __cpp_lib_transformation_trait_aliases 201304L <type_traits>
__cpp_lib_transparent_operators 201510L <functional> <memory>
201210L // C++14
__cpp_lib_tuple_element_t 201402L <tuple>
+__cpp_lib_tuple_like 202311L <map> <tuple> <unordered_map>
+ <utility>
+ 202207L // C++23
__cpp_lib_tuples_by_type 201304L <tuple> <utility>
__cpp_lib_type_identity 201806L <type_traits>
__cpp_lib_type_trait_variable_templates 201510L <type_traits>
@@ -364,6 +382,7 @@ __cpp_lib_within_lifetime 202306L <type_traits>
# undef __cpp_lib_execution
// # define __cpp_lib_execution 201902L
// # define __cpp_lib_format 202106L
+// # define __cpp_lib_format_uchar 202311L
# define __cpp_lib_generic_unordered_lookup 201811L
# define __cpp_lib_int_pow2 202002L
# define __cpp_lib_integer_comparison_functions 202002L
@@ -435,6 +454,7 @@ __cpp_lib_within_lifetime 202306L <type_traits>
# define __cpp_lib_optional 202110L
// # define __cpp_lib_out_ptr 202106L
...
[truncated]
|
✅ With the latest revision this PR passed the Python code formatter. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, thanks!
This updates: - The status tables - Feature test macros (including previously missing ones) - New headers for modules
f304721
to
6c346c1
Compare
This updates: - The status tables - Feature test macros (including previously missing ones) - New headers for modules
This updates: - The status tables - Feature test macros (including previously missing ones) - New headers for modules
This updates: