[libcxx-commits] [libcxx] 64b11db - [libc++] Add WG21 issues and papers voted in Brno (#204191)

via libcxx-commits libcxx-commits at lists.llvm.org
Wed Jun 17 06:14:42 PDT 2026


Author: Louis Dionne
Date: 2026-06-17T09:14:37-04:00
New Revision: 64b11dbaf97b8b094b2836ae92db30b732f4a069

URL: https://github.com/llvm/llvm-project/commit/64b11dbaf97b8b094b2836ae92db30b732f4a069
DIFF: https://github.com/llvm/llvm-project/commit/64b11dbaf97b8b094b2836ae92db30b732f4a069.diff

LOG: [libc++] Add WG21 issues and papers voted in Brno (#204191)

All papers were targeting C++29, so I created new CSV tracking files. A
few papers were forwarded by CWG in plenary but have library wording, so
they are included here. I believe at least some of them will be *nothing
to do*, but should still be included for completeness.

Minor drive-bys:
- rename Cxx2c to Cxx26
- synchronize RST notes from CSVs to Github issues

Assisted by Claude

Added: 
    libcxx/docs/Status/Cxx26.rst
    libcxx/docs/Status/Cxx26Issues.csv
    libcxx/docs/Status/Cxx26Papers.csv
    libcxx/docs/Status/Cxx29.rst
    libcxx/docs/Status/Cxx29Issues.csv
    libcxx/docs/Status/Cxx29Papers.csv

Modified: 
    libcxx/docs/index.rst
    libcxx/utils/conformance

Removed: 
    libcxx/docs/Status/Cxx2c.rst
    libcxx/docs/Status/Cxx2cIssues.csv
    libcxx/docs/Status/Cxx2cPapers.csv


################################################################################
diff  --git a/libcxx/docs/Status/Cxx2c.rst b/libcxx/docs/Status/Cxx26.rst
similarity index 82%
rename from libcxx/docs/Status/Cxx2c.rst
rename to libcxx/docs/Status/Cxx26.rst
index d94b3cfacbb03..014e6f1b9a3e2 100644
--- a/libcxx/docs/Status/Cxx2c.rst
+++ b/libcxx/docs/Status/Cxx26.rst
@@ -1,7 +1,7 @@
-.. _cxx2c-status:
+.. _cxx26-status:
 
 ================================
-libc++ C++2c Status
+libc++ C++26 Status
 ================================
 
 .. include:: ../Helpers/Styles.rst
@@ -13,9 +13,9 @@ libc++ C++2c Status
 Overview
 ================================
 
-In June 2023, the C++ standard committee adopted the first changes to the next version of the C++ standard, known here as "C++2c" (probably to be C++26).
+In June 2023, the C++ standard committee adopted the first changes to the next version of the C++ standard, known here as "C++26".
 
-This page shows the status of libc++; the status of clang's support of the language features is `here <https://clang.llvm.org/cxx_status.html#cxx2c>`__.
+This page shows the status of libc++; the status of clang's support of the language features is `here <https://clang.llvm.org/cxx_status.html#cxx26>`__.
 
 .. attention:: Features in unreleased drafts of the standard are subject to change.
 
@@ -31,7 +31,7 @@ Paper Status
 ====================================
 
 .. csv-table::
-   :file: Cxx2cPapers.csv
+   :file: Cxx26Papers.csv
    :header-rows: 1
    :widths: auto
 
@@ -39,6 +39,6 @@ Library Working Group Issues Status
 ====================================
 
 .. csv-table::
-   :file: Cxx2cIssues.csv
+   :file: Cxx26Issues.csv
    :header-rows: 1
    :widths: auto

diff  --git a/libcxx/docs/Status/Cxx2cIssues.csv b/libcxx/docs/Status/Cxx26Issues.csv
similarity index 100%
rename from libcxx/docs/Status/Cxx2cIssues.csv
rename to libcxx/docs/Status/Cxx26Issues.csv

diff  --git a/libcxx/docs/Status/Cxx2cPapers.csv b/libcxx/docs/Status/Cxx26Papers.csv
similarity index 100%
rename from libcxx/docs/Status/Cxx2cPapers.csv
rename to libcxx/docs/Status/Cxx26Papers.csv

diff  --git a/libcxx/docs/Status/Cxx29.rst b/libcxx/docs/Status/Cxx29.rst
new file mode 100644
index 0000000000000..e4227dfa84cc4
--- /dev/null
+++ b/libcxx/docs/Status/Cxx29.rst
@@ -0,0 +1,44 @@
+.. _cxx29-status:
+
+================================
+libc++ C++29 Status
+================================
+
+.. include:: ../Helpers/Styles.rst
+
+.. contents::
+   :local:
+
+
+Overview
+================================
+
+In June 2026, the C++ standard committee adopted the first changes to the next version of the C++ standard, known here as "C++29".
+
+This page shows the status of libc++; the status of clang's support of the language features is `here <https://clang.llvm.org/cxx_status.html#cxx29>`__.
+
+.. attention:: Features in unreleased drafts of the standard are subject to change.
+
+The groups that have contributed papers:
+
+-  CWG - Core Language Working group
+-  LWG - Library working group
+-  SG1 - Study group #1 (Concurrency working group)
+
+.. note:: "Nothing to do" means that no library changes were needed to implement this change.
+
+Paper Status
+====================================
+
+.. csv-table::
+   :file: Cxx29Papers.csv
+   :header-rows: 1
+   :widths: auto
+
+Library Working Group Issues Status
+====================================
+
+.. csv-table::
+   :file: Cxx29Issues.csv
+   :header-rows: 1
+   :widths: auto

diff  --git a/libcxx/docs/Status/Cxx29Issues.csv b/libcxx/docs/Status/Cxx29Issues.csv
new file mode 100644
index 0000000000000..e3303bf399bb3
--- /dev/null
+++ b/libcxx/docs/Status/Cxx29Issues.csv
@@ -0,0 +1,19 @@
+"Issue #","Issue Name","Meeting","Status","First released version","GitHub issue","Notes"
+"`LWG3417 <https://wg21.link/LWG3417>`__","Missing ``volatile`` atomic deprecations","2026-06 (Brno)","","","",""
+"`LWG4121 <https://wg21.link/LWG4121>`__","``ranges::to`` constructs associative containers via ``c.emplace(c.end(), *it)``","2026-06 (Brno)","","","",""
+"`LWG4125 <https://wg21.link/LWG4125>`__","``move_iterator``'s default constructor should be constrained","2026-06 (Brno)","","","",""
+"`LWG4158 <https://wg21.link/LWG4158>`__","``packaged_task::operator=`` should abandon its shared state","2026-06 (Brno)","","","",""
+"`LWG4182 <https://wg21.link/LWG4182>`__","Definition of ``NULL`` is too broad","2026-06 (Brno)","","","",""
+"`LWG4218 <https://wg21.link/LWG4218>`__","Constraint recursion in ``basic_const_iterator``'s relational operators due to ADL + CWG 2369","2026-06 (Brno)","","","",""
+"`LWG4249 <https://wg21.link/LWG4249>`__","The past end issue for ``lazy_split_view``","2026-06 (Brno)","","","",""
+"`LWG4267 <https://wg21.link/LWG4267>`__","Uses-allocator construction is meaningless for tuple of references","2026-06 (Brno)","","","",""
+"`LWG4359 <https://wg21.link/LWG4359>`__","``as_awaitable(expr, p)`` does not define semantics of call if ``p`` is not an lvalue","2026-06 (Brno)","","","",""
+"`LWG4385 <https://wg21.link/LWG4385>`__","Including ``<simd>`` doesn't provide ``std::begin``/``end``","2026-06 (Brno)","","","",""
+"`LWG4471 <https://wg21.link/LWG4471>`__","Remove test for ``get_env`` ``noexcept``-ness from ``inline_scheduler``","2026-06 (Brno)","","","",""
+"`LWG4487 <https://wg21.link/LWG4487>`__","Is member ``is_steady`` of a *Cpp17Clock* type required to be usable in constant expressions?","2026-06 (Brno)","","","",""
+"`LWG4490 <https://wg21.link/LWG4490>`__","Allow calling ``std::ranges::size`` in ranges algorithms","2026-06 (Brno)","","","",""
+"`LWG4521 <https://wg21.link/LWG4521>`__","Improve [atomics.order] p10 to have a consistent way with [intro.races]","2026-06 (Brno)","","","",""
+"`LWG4531 <https://wg21.link/LWG4531>`__","Should there be a feature-test macro update for ``constexpr`` ``std::to_(w)string``?","2026-06 (Brno)","","","",""
+"`LWG4567 <https://wg21.link/LWG4567>`__","Feature test macro value for ``apply_result``, ``is_applicable``","2026-06 (Brno)","","","",""
+"`LWG4568 <https://wg21.link/LWG4568>`__","``std::execution::spawn_future`` is mishandling dependent senders","2026-06 (Brno)","","","",""
+"`LWG4579 <https://wg21.link/LWG4579>`__","``make-state<Rcvr>::state-type::complete`` uses ``Env`` which is not in scope","2026-06 (Brno)","","","",""

diff  --git a/libcxx/docs/Status/Cxx29Papers.csv b/libcxx/docs/Status/Cxx29Papers.csv
new file mode 100644
index 0000000000000..d2ba41ffe65a8
--- /dev/null
+++ b/libcxx/docs/Status/Cxx29Papers.csv
@@ -0,0 +1,22 @@
+"Paper #","Paper Name","Meeting","Status","First released version","GitHub issue","Notes"
+"`P2434R5 <https://wg21.link/P2434R5>`__","Nondeterministic pointer provenance","2026-06 (Brno)","","","","Voted as a Defect Report."
+"`P4101R1 <https://wg21.link/P4101R1>`__","Consteval-only Values for C++26","2026-06 (Brno)","","","","Voted as a Defect Report."
+"`P2414R12 <https://wg21.link/P2414R12>`__","Pointer lifetime-end zap proposed solutions","2026-06 (Brno)","","","","Voted as a Defect Report."
+"`P3319R6 <https://wg21.link/P3319R6>`__","Add an ``iota`` object for ``simd`` (and more)","2026-06 (Brno)","","","",""
+"`P3798R1 <https://wg21.link/P3798R1>`__","The unexpected in ``std::expected``","2026-06 (Brno)","","","",""
+"`P3052R2 <https://wg21.link/P3052R2>`__","``view_interface::at()``","2026-06 (Brno)","","","",""
+"`P4206R0 <https://wg21.link/P4206R0>`__","Revert string support in ``std::constant_wrapper``","2026-06 (Brno)","","","","To be applied as a Defect Report."
+"`P3395R6 <https://wg21.link/P3395R6>`__","Fix encoding issues and add a formatter for ``std::error_code``","2026-06 (Brno)","","","",""
+"`P3505R4 <https://wg21.link/P3505R4>`__","Fix the default floating-point representation in ``std::format``","2026-06 (Brno)","","","","To be applied as a Defect Report."
+"`P3154R3 <https://wg21.link/P3154R3>`__","Deprecating signed character types in iostreams","2026-06 (Brno)","","","",""
+"`P3428R4 <https://wg21.link/P3428R4>`__","Hazard Pointer Batches","2026-06 (Brno)","","","",""
+"`P3248R5 <https://wg21.link/P3248R5>`__","Require ``[u]intptr_t``","2026-06 (Brno)","","","",""
+"`P3793R2 <https://wg21.link/P3793R2>`__","Better shifting","2026-06 (Brno)","","","",""
+"`P3242R4 <https://wg21.link/P3242R4>`__","Copy and fill for ``mdspan``","2026-06 (Brno)","","","",""
+"`P3692R4 <https://wg21.link/P3692R4>`__","How to Avoid OOTA Without Really Trying","2026-06 (Brno)","","","",""
+"`P3104R6 <https://wg21.link/P3104R6>`__","Bit permutations","2026-06 (Brno)","","","",""
+"`P3772R2 <https://wg21.link/P3772R2>`__","``std::simd`` overloads for bit permutations","2026-06 (Brno)","","","",""
+"`P3091R6 <https://wg21.link/P3091R6>`__","Better Lookups for ``map``, ``unordered_map``, and ``flat_map``","2026-06 (Brno)","","","",""
+"`P3125R6 <https://wg21.link/P3125R6>`__","constexpr pointer tagging","2026-06 (Brno)","","","",""
+"`P2019R9 <https://wg21.link/P2019R9>`__","Thread attributes","2026-06 (Brno)","","","",""
+"`P3785R1 <https://wg21.link/P3785R1>`__","Library Wording Changes for Defaulted Postfix Increment and Decrement Operations","2026-06 (Brno)","","","",""

diff  --git a/libcxx/docs/index.rst b/libcxx/docs/index.rst
index 38f77580d4530..f47310d20f525 100644
--- a/libcxx/docs/index.rst
+++ b/libcxx/docs/index.rst
@@ -48,7 +48,8 @@ Getting Started with libc++
    Status/Cxx17
    Status/Cxx20
    Status/Cxx23
-   Status/Cxx2c
+   Status/Cxx26
+   Status/Cxx29
    Status/Format
    Status/Parallelism
 
@@ -69,7 +70,7 @@ user base of over 1 billion daily active users.
 
 Since its inception, libc++ has focused on delivering high performance, standards-conformance, and portability. It has
 been extensively tested and optimized, making it robust and production ready. libc++ fully implements C++11 and C++14,
-with C++17, C++20, C++23, and C++26 features being actively developed and making steady progress.
+with C++17, C++20, C++23, C++26, and C++29 features being actively developed and making steady progress.
 
 libc++ is continuously integrated and tested on a wide range of platforms and configurations, ensuring its reliability
 and compatibility across various systems. The library's extensive test suite and rigorous quality assurance process have
@@ -183,7 +184,8 @@ this release is described in the pages below:
 * :ref:`C++17 - In Progress <cxx17-status>`
 * :ref:`C++20 - In Progress <cxx20-status>`
 * :ref:`C++23 - In Progress <cxx23-status>`
-* :ref:`C++2c - In Progress <cxx2c-status>`
+* :ref:`C++26 - In Progress <cxx26-status>`
+* :ref:`C++29 - In Progress <cxx29-status>`
 * :ref:`C++ Feature Test Macro Status <feature-status>`
 
 

diff  --git a/libcxx/utils/conformance b/libcxx/utils/conformance
index cc9461aee210a..d24b99347ae91 100755
--- a/libcxx/utils/conformance
+++ b/libcxx/utils/conformance
@@ -537,9 +537,13 @@ def github_create(csvfiles, load_github_from, labels):
             continue
 
         # Create the actual Github issue
+        body = f'**Link:** https://wg21.link/{paper.paper_number}'
+        if paper.notes:
+            body += f'\n\n```\nBEGIN-RST-NOTES\n{paper.notes}\nEND-RST-NOTES\n```'
+
         cli = ['gh', 'issue', 'create', '--repo', 'llvm/llvm-project',
                     '--title', f'{paper.paper_number}: {rst_to_markdown(paper.paper_name)}',
-                    '--body', f'**Link:** https://wg21.link/{paper.paper_number}',
+                    '--body', body,
                     '--project', 'libc++ Standards Conformance',
                     '--label', 'libc++']
 


        


More information about the libcxx-commits mailing list