[libcxx-commits] [PATCH] D159454: [libc++][hardening][NFC] Fix the 17 release notes to remove mentions of hardening
Konstantin Varlamov via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Sep 8 11:41:44 PDT 2023
This revision was automatically updated to reflect the committed changes.
Closed by commit rG5795e7ba3ed8: [libc++][hardening][NFC] Fix the 17 release notes to remove mentions of… (authored by var-const).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D159454/new/
https://reviews.llvm.org/D159454
Files:
libcxx/CMakeLists.txt
libcxx/docs/ReleaseNotes/17.rst
libcxx/docs/ReleaseNotes/18.rst
libcxx/include/__config
libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_hardened_mode.pass.cpp
Index: libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_hardened_mode.pass.cpp
===================================================================
--- libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_hardened_mode.pass.cpp
+++ libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_hardened_mode.pass.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-// TODO(hardening): remove in LLVM 18.
+// TODO(hardening): remove in LLVM 19.
// This test ensures that enabling assertions now enables the hardened mode.
// `check_assertion.h` is only available starting from C++11 and requires Unix headers.
Index: libcxx/include/__config
===================================================================
--- libcxx/include/__config
+++ libcxx/include/__config
@@ -202,7 +202,7 @@
// HARDENING {
-// TODO(hardening): remove this in LLVM 18.
+// TODO(hardening): remove this in LLVM 19.
// This is for backward compatibility -- make enabling `_LIBCPP_ENABLE_ASSERTIONS` (which predates hardening modes)
// equivalent to setting the hardened mode.
# ifdef _LIBCPP_ENABLE_ASSERTIONS
Index: libcxx/docs/ReleaseNotes/18.rst
===================================================================
--- libcxx/docs/ReleaseNotes/18.rst
+++ libcxx/docs/ReleaseNotes/18.rst
@@ -35,6 +35,15 @@
What's New in Libc++ 18.0.0?
==============================
+- The "safe" mode is replaced by the hardened mode in this release. The
+ ``LIBCXX_ENABLE_ASSERTIONS`` CMake variable is deprecated and setting it will
+ trigger an error; use ``LIBCXX_HARDENING_MODE`` instead. Similarly, the
+ ``_LIBCPP_ENABLE_ASSERTIONS`` macro is deprecated and setting it to ``1`` now
+ enables the hardened mode. See ``libcxx/docs/Hardening.rst`` for more details.
+
+- A new debug mode has been added, replacing the legacy debug mode that was
+ removed in the LLVM 17 release. See ``libcxx/docs/Hardening.rst`` for more
+ details.
Implemented Papers
------------------
Index: libcxx/docs/ReleaseNotes/17.rst
===================================================================
--- libcxx/docs/ReleaseNotes/17.rst
+++ libcxx/docs/ReleaseNotes/17.rst
@@ -87,9 +87,6 @@
``std::ranges::find`` are now forwarding to ``std::memcmp`` for trivially
equality comparable types, which can lead up to 40x performance improvements.
-- ``std::string_view`` now provides iterators that check for out-of-bounds accesses when the safe
- libc++ mode is enabled.
-
- The performance of ``dynamic_cast`` on its hot paths is greatly improved and is as efficient as the
``libsupc++`` implementation. Note that the performance improvements are shipped in ``libcxxabi``.
@@ -128,14 +125,8 @@
Deprecations and Removals
-------------------------
-- The "safe" mode is replaced by the hardened mode in this release. The ``LIBCXX_ENABLE_ASSERTIONS`` CMake variable is
- deprecated and setting it will trigger an error; use ``LIBCXX_HARDENING_MODE`` instead. Similarly, the
- ``_LIBCPP_ENABLE_ASSERTIONS`` macro is deprecated and setting it to ``1`` now enables the hardened mode. See
- ``libcxx/docs/Hardening.rst`` for more details.
-
-- The legacy debug mode has been removed in this release. Setting the macro ``_LIBCPP_ENABLE_DEBUG_MODE`` to ``1`` now
- enables the new debug mode which is part of hardening (see the "Improvements and New Features" section above). The
- ``LIBCXX_ENABLE_DEBUG_MODE`` CMake variable has been removed. For additional context, refer to the `Discourse post
+- The legacy debug mode has been removed in this release. The ``LIBCXX_ENABLE_DEBUG_MODE`` CMake variable has been
+ removed. For additional context, refer to the `Discourse post
<https://discourse.llvm.org/t/rfc-removing-the-legacy-debug-mode-from-libc/71026>`_.
- The ``<experimental/coroutine>`` header has been removed in this release. The ``<coroutine>`` header
Index: libcxx/CMakeLists.txt
===================================================================
--- libcxx/CMakeLists.txt
+++ libcxx/CMakeLists.txt
@@ -786,7 +786,7 @@
config_define(0 _LIBCPP_ENABLE_HARDENED_MODE_DEFAULT)
config_define(0 _LIBCPP_ENABLE_DEBUG_MODE_DEFAULT)
endif()
-# TODO(LLVM 18): Remove this after branching for LLVM 17, this is a simple
+# TODO(LLVM 19): Remove this after branching for LLVM 18, this is a simple
# courtesy for vendors to be notified about this change.
if (LIBCXX_ENABLE_ASSERTIONS)
message(FATAL_ERROR "LIBCXX_ENABLE_ASSERTIONS has been replaced by LIBCXX_HARDENING_MODE=hardened")
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D159454.556293.patch
Type: text/x-patch
Size: 4570 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230908/1a9f797d/attachment-0001.bin>
More information about the libcxx-commits
mailing list