[libcxx-commits] [PATCH] D129380: [libc++] Undeprecate ATOMIC_FLAG_INIT (LWG3659)

Raul Tambre via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jul 11 22:00:56 PDT 2022


This revision was not accepted when it landed; it landed in state "Needs Review".
This revision was automatically updated to reflect the committed changes.
Closed by commit rG1544d1f9fdb1: [libc++] Undeprecate ATOMIC_FLAG_INIT (LWG3659) (authored by tambre).

Changed prior to commit:
  https://reviews.llvm.org/D129380?vs=443740&id=443832#toc

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D129380/new/

https://reviews.llvm.org/D129380

Files:
  libcxx/docs/ReleaseNotes.rst
  libcxx/docs/Status/Cxx20.rst
  libcxx/docs/Status/Cxx20Papers.csv
  libcxx/docs/Status/Cxx2bIssues.csv
  libcxx/include/atomic
  libcxx/test/std/atomics/atomics.flag/init.pass.cpp


Index: libcxx/test/std/atomics/atomics.flag/init.pass.cpp
===================================================================
--- libcxx/test/std/atomics/atomics.flag/init.pass.cpp
+++ libcxx/test/std/atomics/atomics.flag/init.pass.cpp
@@ -7,7 +7,6 @@
 //===----------------------------------------------------------------------===//
 
 // XFAIL: c++03
-// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
 
 // <atomic>
 
Index: libcxx/include/atomic
===================================================================
--- libcxx/include/atomic
+++ libcxx/include/atomic
@@ -2696,7 +2696,6 @@
 
 #if _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_DISABLE_DEPRECATION_WARNINGS)
 # if defined(_LIBCPP_CLANG_VER) && _LIBCPP_CLANG_VER >= 1400
-#  pragma clang deprecated(ATOMIC_FLAG_INIT)
 #  pragma clang deprecated(ATOMIC_VAR_INIT)
 # endif
 #endif // _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_DISABLE_DEPRECATION_WARNINGS)
Index: libcxx/docs/Status/Cxx2bIssues.csv
===================================================================
--- libcxx/docs/Status/Cxx2bIssues.csv
+++ libcxx/docs/Status/Cxx2bIssues.csv
@@ -162,4 +162,5 @@
 "`3645 <https://wg21.link/LWG3645>`__","``resize_and_overwrite`` is overspecified to call its callback with lvalues","Not voted in","|Complete|","14.0",""
 "`3656 <https://wg21.link/LWG3656>`__","Inconsistent bit operations returning a count","Not voted in","|Complete|","15.0",""
 "`3631 <https://wg21.link/LWG3631>`__","``basic_format_arg(T&&)`` should use ``remove_cvref_t<T>`` throughout","Not voted in","|Complete|","15.0",""
+"`3659 <https://wg21.link/LWG3659>`__","Consider ``ATOMIC_FLAG_INIT`` undeprecation","Not voted in","|Complete|","15.0"
 "","","","",""
Index: libcxx/docs/Status/Cxx20Papers.csv
===================================================================
--- libcxx/docs/Status/Cxx20Papers.csv
+++ libcxx/docs/Status/Cxx20Papers.csv
@@ -133,7 +133,7 @@
 "`P1661R1 <https://wg21.link/P1661R1>`__","LWG","Remove dedicated precalculated hash lookup interface","Cologne","|Nothing To Do|",""
 "`P1754R1 <https://wg21.link/P1754R1>`__","LWG","Rename concepts to standard_case for C++20, while we still can","Cologne","|In Progress|",""
 "","","","","",""
-"`P0883R2 <https://wg21.link/P0883R2>`__","LWG","Fixing Atomic Initialization","Belfast","|Complete| [#note-P0883]_","14.0"
+"`P0883R2 <https://wg21.link/P0883R2>`__","LWG","Fixing Atomic Initialization","Belfast","|Complete| [#note-P0883.1]_ [#note-P0883.2]_","14.0"
 "`P1391R4 <https://wg21.link/P1391R4>`__","LWG","Range constructor for std::string_view","Belfast","|Complete|","14.0"
 "`P1394R4 <https://wg21.link/P1394R4>`__","LWG","Range constructor for std::span","Belfast","|Complete|","14.0"
 "`P1456R1 <https://wg21.link/P1456R1>`__","LWG","Move-only views","Belfast","|Complete|","15.0"
Index: libcxx/docs/Status/Cxx20.rst
===================================================================
--- libcxx/docs/Status/Cxx20.rst
+++ libcxx/docs/Status/Cxx20.rst
@@ -46,7 +46,8 @@
       Not yet implemented LWG-issues will cause API and ABI breakage.
    .. [#note-P0966] P0966: It was previously erroneously marked as complete in version 8.0. See `bug 45368 <https://llvm.org/PR45368>`__.
    .. [#note-P0619] P0619: Only sections D.8, D.9, D.10 and D.13 are implemented. Sections D.4, D.7, D.11, D.12, and D.14 remain undone.
-   .. [#note-P0883] P0883: shared_ptr and floating-point changes weren't applied as they themselves aren't implemented yet.
+   .. [#note-P0883.1] P0883: shared_ptr and floating-point changes weren't applied as they themselves aren't implemented yet.
+   .. [#note-P0883.2] P0883: ``ATOMIC_FLAG_INIT`` was marked deprecated in version 14.0, but was undeprecated with the implementation of LWG3659 in version 15.0.
    .. [#note-P2231] P2231: Optional is complete. The changes to variant haven't been implemented yet.
 
 
Index: libcxx/docs/ReleaseNotes.rst
===================================================================
--- libcxx/docs/ReleaseNotes.rst
+++ libcxx/docs/ReleaseNotes.rst
@@ -48,6 +48,7 @@
 - P0154R1 (Hardware inference size)
 - P0618R0 (Deprecating <codecvt>)
 - P2418R2 (Add support for ``std::generator``-like types to ``std::format``)
+- LWG3659 (Consider ``ATOMIC_FLAG_INIT`` undeprecation)
 
 - Marked the following papers as "Complete" (note that some of those might have
   been implemented in a previous release but not marked as such):


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D129380.443832.patch
Type: text/x-patch
Size: 4416 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220712/d2e24508/attachment.bin>


More information about the libcxx-commits mailing list