This patch did not get committed in a timely manner after it was OK'd. In revisiting the patch some issues were found that have lead me to resubmit for review - Specifically - The original commit to add C++20 atomic_flag::test did not include the free functions for atomic_flag_test[_explicit] The original commit to add C++20 atomic_flag::wait/notify did not include the free functions for atomic_flag_wait/notify[_explicit] These two commits landed in GCC10 and GCC11 respectively. My original patch included both sets of free functions, but that complicates the backporting of these changes to GCC10, GCC11, and GCC12. Additionally commit 7c2155 removed const qualification from atomic_flag::notify_one/notify_all but the original version of this patch accepts the atomic flag as const. The original version of this patch did not include test cases for the atomic_flag_test[_explicit] free functions. I have split the original patch into two patches, on for the atomic_flag_test free functions, and one for the atomic_flag_wait/notify free functions. On Wed, Feb 2, 2022 at 1:35 PM Jonathan Wakely wrote: > >+ inline void > >+ atomic_flag_wait_explicit(const atomic_flag* __a, bool __old, > >+ std::memory_order __m) noexcept > > No need for the std:: qualification, and check the indentation. > > > > libstdc++-v3/ChangeLog: > > > > PR103934 > > This needs to include the component: PR libstdc++/103934 > > > * include/std/atomic: Add missing free functions. > > Please name the new functions in the changelog, in the usual format. > Just the names is fine, no need for the full signatures with > parameters. > > OK for trunk with those changes. > >