WG21 PAPERS

Mailings Beta

Volunteer-driven · Not affiliated with WG21 or ISO

Filter and export papers from the C++ Committee’s monthly mailings by time frame and audience using the options below, or refine your export further with the Select button. Links point directly to the official WG21 papers on open-std.org.

Disposition Updated

Audience
General
Wording
Evolution
Study Groups
Mailings
1 · Year 1 · Month

Select the arrow to the right of the year to filter for specific months.

2026 Jul · 1 of 7

Pick months in 2026

2025 143 papers

Pick months in 2025

Add Year +

Select Years To Display

Current Years Selected

2026 2025
Filters Author: Maged Michael Clear all
6 out of 6 papers selected for export
SelectPaper Title Authors Audience Doc Date Mailing Date
P2414R12 Pointer lifetime-end zap proposed solutions Paul E. McKenney P. McKenney , Maged Michael M. Michael , Jens Maurer J. Maurer , Peter Sewell P. Sewell , Martin Uecker M. Uecker , Hans Boehm H. Boehm , Hubert Tong H. Tong , Niall Douglas N. Douglas , Thomas Rodgers T. Rodgers , Will Deacon W. Deacon , Michael Wong M. Wong , David Goldblatt D. Goldblatt , Kostya Serebryany K. Serebryany , Anthony Williams A. Williams , Tom Scogland T. Scogland , JF Bastien J. Bastien , Daniel Krügler D. Krügler , David Tenty D. Tenty 2026-07
Mailing Date 2026-07 Post-Brno
Target Audience WG21
Revisions R11R9R8
Tracking issue View on GitHub
Disposition Date 2026-06Adopted
Abstract The C++ standard currently specifies that all pointers to an object become invalid at the end of its lifetime [basic.life]. Although this permits additional diagnostics and optimizations which might be of some value, it is not consistent with long-standing usage, especially for a range of concurrent and sequential algorithms that rely on loads, stores, equality comparisons, and even dereferencing
P3347R6 Invalid/Prospective Pointer Operations Paul E. McKenney P. McKenney , Maged Michael M. Michael , Jens Maurer J. Maurer , Peter Sewell P. Sewell , Martin Uecker M. Uecker , Hans Boehm H. Boehm , Hubert Tong H. Tong , Niall Douglas N. Douglas , Thomas Rodgers T. Rodgers , Will Deacon W. Deacon , Michael Wong M. Wong , David Goldblatt D. Goldblatt , Kostya Serebryany K. Serebryany , Anthony Williams A. Williams , Tom Scogland T. Scogland , JF Bastien J. Bastien , Jason McGuiness J. McGuiness , David Tenty D. Tenty 2026-07
Mailing Date 2026-07 Post-Brno
Target Audience CWG
Revisions R3
Tracking issue View on GitHub
Disposition Date 2026-06Adopted
Abstract The C++ standard currently specifies that all pointers to an object become invalid at the end of its lifetime [basic.life]. This is a software-engineering nightmare because **all** operations on invalid pointers are implementation-defined, even loads and stores. This means that concurrent algorithms such as LIFO Push that knowingly use invalid pointers must have (for example) converted such pointe
P3427R6 Hazard Pointer Synchronous Reclamation Maged Michael M. Michael , Michael Wong M. Wong , Paul McKenney P. McKenney , Mark de Wever M. Wever 2026-07
Mailing Date 2026-07 Post-Brno
Target Audience LWG
Revisions R9R8R7R5R4R3
Tracking issue View on GitHub
Abstract Hazard pointer interface from P2530R3 merged into the working draft (N5008):
P3428R4 Hazard Pointer Batches Maged Michael M. Michael , Michael Wong M. Wong , Paul McKenney P. McKenney 2026-07
Mailing Date 2026-07 Post-Brno
Target Audience WG21
Revisions R3
Tracking issue View on GitHub
Disposition Date 2026-06Adopted
Abstract This paper proposes extending the C++26 hazard pointer interface to support creation and destruction of batches of nonempty hazard pointers. This revision P3428R4 revises R3 by following LWG Brno 2026 feedback.
P3790R2 Pointer lifetime-end zap proposed solutions: Bag-of-bits pointer class Paul E. McKenney P. McKenney , Maged Michael M. Michael , Jens Maurer J. Maurer , Peter Sewell P. Sewell , Hans Boehm H. Boehm , Hubert Tong H. Tong , Niall Douglas N. Douglas , Thomas Rodgers T. Rodgers , Will Deacon W. Deacon , Michael Wong M. Wong , David Goldblatt D. Goldblatt , Kostya Serebryany K. Serebryany , Anthony Williams A. Williams , Tom Scogland T. Scogland , JF Bastien J. Bastien , Daniel Krügler D. Krügler , David Tenty D. Tenty 2026-07
Mailing Date 2026-07 Post-Brno
Target Audience LEWGLWG
Revisions R0
Tracking issue View on GitHub
Abstract The C++ standard currently specifies that all pointers to an object become invalid at the end of its lifetime [basic.life]. Although this permits additional diagnostics and optimizations which might be of some value, it is not consistent with long-standing usage, especially for a range of concurrent and sequential algorithms that rely on loads, stores, equality comparisons, and even dereferencing
P4221R3 Atomic Compare Maged Michael M. Michael , Paul McKenney P. McKenney , Michael Wong M. Wong 2026-07
Mailing Date 2026-07 Post-Brno
Target Audience LEWG
Revisions R2R1R0
Tracking issue View on GitHub
Abstract This paper proposes adding a `compare_load` member function to `std::atomic<T>` and `std::atomic_ref<T>`, alongside corresponding free functions. This function performs an atomic comparison of the atomic object's value with an expected value, following the same value representation comparison semantics as `compare_exchange_strong`. It updates the expected argument on failure, operating entirely as
Showing 6 of 6 papers · source: open-std.org