[libcxx-commits] [libcxx] [libc++] Add a release note about C++03 being frozen after LLVM 21 (PR #95894)

Nikolas Klauser via libcxx-commits libcxx-commits at lists.llvm.org
Thu Jul 18 09:03:56 PDT 2024


https://github.com/philnik777 updated https://github.com/llvm/llvm-project/pull/95894

>From d4ef64fd3e03b6e6e0c9bc832f65bdc1d40447a6 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser <nikolasklauser at berlin.de>
Date: Tue, 18 Jun 2024 10:42:49 +0200
Subject: [PATCH 1/2] [libc++] Add a release note about C++03 being frozen in
 LLVM 19

---
 libcxx/docs/ReleaseNotes/19.rst | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libcxx/docs/ReleaseNotes/19.rst b/libcxx/docs/ReleaseNotes/19.rst
index e6d8acb74aeb2..f12d2ff0d431b 100644
--- a/libcxx/docs/ReleaseNotes/19.rst
+++ b/libcxx/docs/ReleaseNotes/19.rst
@@ -155,8 +155,12 @@ LLVM 20
 
 LLVM 21
 ~~~~~~~
-TODO
 
+- The status of the C++03 implementation will be frozen. This means that non-critical bug fixes will not be back-ported
+  to C++03, including LWG issues. C++03 is a legacy platform, where most projects are no longer actively maintained. To
+  reduce the amount of fixes required to keep such legacy projects compiling with up-to-date toolchains, libc++ freezes
+  the current status of the headers and avoids making any changes to these headers.
+  See https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc for more details.
 
 ABI Affecting Changes
 ---------------------

>From b2df92d5ab03ff79a5ee4ef9ff3b4d7183a062ab Mon Sep 17 00:00:00 2001
From: Nikolas Klauser <nikolasklauser at berlin.de>
Date: Thu, 18 Jul 2024 18:03:49 +0200
Subject: [PATCH 2/2] Update libcxx/docs/ReleaseNotes/19.rst

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
---
 libcxx/docs/ReleaseNotes/19.rst | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/libcxx/docs/ReleaseNotes/19.rst b/libcxx/docs/ReleaseNotes/19.rst
index f12d2ff0d431b..011d9391884b6 100644
--- a/libcxx/docs/ReleaseNotes/19.rst
+++ b/libcxx/docs/ReleaseNotes/19.rst
@@ -156,12 +156,13 @@ LLVM 20
 LLVM 21
 ~~~~~~~
 
-- The status of the C++03 implementation will be frozen. This means that non-critical bug fixes will not be back-ported
+- The status of the C++03 implementation will be frozen after the LLVM 21 release. This means that starting in LLVM 22, non-critical bug fixes may not be back-ported
   to C++03, including LWG issues. C++03 is a legacy platform, where most projects are no longer actively maintained. To
-  reduce the amount of fixes required to keep such legacy projects compiling with up-to-date toolchains, libc++ freezes
-  the current status of the headers and avoids making any changes to these headers.
+  reduce the amount of fixes required to keep such legacy projects compiling with up-to-date toolchains, libc++ will aim to freeze the status of the headers in C++03 mode to avoid unintended breaking changes.
   See https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc for more details.
 
+  If you are using C++03 in your project, you should consider moving to a newer version of the Standard to get the most out of libc++.
+
 ABI Affecting Changes
 ---------------------
 



More information about the libcxx-commits mailing list