[libc++] Complete the implementation of N4190
Fixes #37402
Reviewed By: ldionne
Spies: EricWF, avogelsgesang, libcxx-commits, arphaman
Differential Revision: https://reviews.llvm.org/D124346
NOKEYCHECK=True
GitOrigin-RevId: 681cde7dd8b5613dbafc9ca54e0288477f946be3
diff --git a/docs/ReleaseNotes.rst b/docs/ReleaseNotes.rst
index 8f4f692..08397d9 100644
--- a/docs/ReleaseNotes.rst
+++ b/docs/ReleaseNotes.rst
@@ -43,8 +43,8 @@
- P0674R1 (Support arrays in ``make_shared`` and ``allocate_shared``)
- P0980R1 (Making ``std::string`` constexpr)
- P2216R3 (std::format improvements)
-
-- Implemented P0174R2 (Deprecating Vestigial Library Parts in C++17)
+- P0174R2 (Deprecating Vestigial Library Parts in C++17)
+- N4190 (Removing auto_ptr, random_shuffle(), And Old <functional> Stuff)
- Marked the following papers as "Complete" (note that some of those might have
been implemented in a previous release but not marked as such):
@@ -152,6 +152,12 @@
or upgrade to C++11 or later. It is possible to re-enable ``std::function`` in C++03 by defining
``_LIBCPP_ENABLE_CXX03_FUNCTION``. This option it will be removed in LLVM 16.
+- ``unary_function`` and ``binary_function`` are no longer available in C++17 and C++20.
+ They can be re-enabled by defining ``_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION``.
+ They are also marked as ``[[deprecated]]`` in C++11 and later. To disable deprecation warnings
+ you have to define ``_LIBCPP_DISABLE_DEPRECATION_WARNINGS``. Note that this disables
+ all deprecation warnings.
+
ABI Changes
-----------
diff --git a/docs/Status/Cxx17Papers.csv b/docs/Status/Cxx17Papers.csv
index 72291fd..2a996ce 100644
--- a/docs/Status/Cxx17Papers.csv
+++ b/docs/Status/Cxx17Papers.csv
@@ -2,7 +2,7 @@
"`N3911 <https://wg21.link/n3911>`__","LWG","TransformationTrait Alias ``void_t``\ .","Urbana","|Complete|","3.6"
"`N4089 <https://wg21.link/n4089>`__","LWG","Safe conversions in ``unique_ptr<T[]>``\ .","Urbana","|In Progress|","3.9"
"`N4169 <https://wg21.link/n4169>`__","LWG","A proposal to add invoke function template","Urbana","|Complete|","3.7"
-"`N4190 <https://wg21.link/n4190>`__","LWG","Removing auto_ptr, random_shuffle(), And Old <functional> Stuff.","Urbana","|In Progress|",""
+"`N4190 <https://wg21.link/n4190>`__","LWG","Removing auto_ptr, random_shuffle(), And Old <functional> Stuff.","Urbana","|Complete|","15.0"
"`N4258 <https://wg21.link/n4258>`__","LWG","Cleaning-up noexcept in the Library.","Urbana","|In Progress|","3.7"
"`N4259 <https://wg21.link/n4259>`__","CWG","Wording for std::uncaught_exceptions","Urbana","|Complete|","3.7"
"`N4277 <https://wg21.link/n4277>`__","LWG","TriviallyCopyable ``reference_wrapper``\ .","Urbana","|Complete|","3.2"