[llvm] Document Policy on supporting newer C++ standard in LLVM codebase (PR #156823)

Mehdi Amini via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 21 13:48:23 PDT 2025


https://github.com/joker-eph updated https://github.com/llvm/llvm-project/pull/156823

>From 8aff7fab85dda1144b75b36dbdd1bf83cc6c2d66 Mon Sep 17 00:00:00 2001
From: Mehdi Amini <joker.eph at gmail.com>
Date: Thu, 4 Sep 2025 01:24:11 -0700
Subject: [PATCH 1/3] Document Policy on supporting newer C++ standard in LLVM
 codebase

See RFC: https://discourse.llvm.org/t/policy-on-supporting-newer-c-standard-in-llvm-codebase/88114
---
 llvm/docs/CMake.rst           | 4 ++--
 llvm/docs/CodingStandards.rst | 6 ++++++
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/llvm/docs/CMake.rst b/llvm/docs/CMake.rst
index ce83552919315..438a84d39ed66 100644
--- a/llvm/docs/CMake.rst
+++ b/llvm/docs/CMake.rst
@@ -280,8 +280,8 @@ explanation and LLVM-related notes.  For full documentation, consult the CMake
 manual, or execute ``cmake --help-variable VARIABLE_NAME``.
 
 **CMAKE_CXX_STANDARD**:STRING
-  Sets the C++ standard to conform to when building LLVM.  Possible values are
-  17 and 20.  LLVM requires C++17 or higher.  This defaults to 17.
+  Sets the C++ standard to conform to when building LLVM.
+  LLVM requires C++17 or higher.  This defaults to 17.
 
 **CMAKE_INSTALL_BINDIR**:PATH
   The path to install executables, relative to the *CMAKE_INSTALL_PREFIX*.
diff --git a/llvm/docs/CodingStandards.rst b/llvm/docs/CodingStandards.rst
index e48af0ee3054f..3c57236cf190c 100644
--- a/llvm/docs/CodingStandards.rst
+++ b/llvm/docs/CodingStandards.rst
@@ -78,6 +78,12 @@ Each toolchain provides a good reference for what it accepts:
 Additionally, there are compiler comparison tables of supported C++ features on
 `cppreference.com <https://en.cppreference.com/w/cpp/compiler_support/17>`_.
 
+To keep track with the evolution of the standard, newer C++ version can be used
+to build LLVM. However, our support focuses on the minimum supported C++
+version and a very recent standard may not be yet supported, or only using the
+latest version of the supported toolchains and possibly not across all the
+subprojects.
+
 
 C++ Standard Library
 --------------------

>From d2c02497cc310357a1b6191ed2e8c125617857d7 Mon Sep 17 00:00:00 2001
From: Mehdi Amini <joker.eph at gmail.com>
Date: Fri, 5 Sep 2025 14:54:14 +0200
Subject: [PATCH 2/3] Update llvm/docs/CodingStandards.rst

Co-authored-by: Nikita Popov <github at npopov.com>
---
 llvm/docs/CodingStandards.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/llvm/docs/CodingStandards.rst b/llvm/docs/CodingStandards.rst
index 3c57236cf190c..f668fbe53b1a0 100644
--- a/llvm/docs/CodingStandards.rst
+++ b/llvm/docs/CodingStandards.rst
@@ -80,7 +80,7 @@ Additionally, there are compiler comparison tables of supported C++ features on
 
 To keep track with the evolution of the standard, newer C++ version can be used
 to build LLVM. However, our support focuses on the minimum supported C++
-version and a very recent standard may not be yet supported, or only using the
+version and a very recent standard may not yet be supported, or only using the
 latest version of the supported toolchains and possibly not across all the
 subprojects.
 

>From 6c00faf850f54657d30ca206be176a0b4941980e Mon Sep 17 00:00:00 2001
From: Mehdi Amini <joker.eph at gmail.com>
Date: Sun, 21 Sep 2025 22:48:15 +0200
Subject: [PATCH 3/3] Update llvm/docs/CodingStandards.rst

Co-authored-by: Angel Cascarino <angel.cascarino at googlemail.com>
---
 llvm/docs/CodingStandards.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/llvm/docs/CodingStandards.rst b/llvm/docs/CodingStandards.rst
index f668fbe53b1a0..dd275f292967b 100644
--- a/llvm/docs/CodingStandards.rst
+++ b/llvm/docs/CodingStandards.rst
@@ -78,7 +78,7 @@ Each toolchain provides a good reference for what it accepts:
 Additionally, there are compiler comparison tables of supported C++ features on
 `cppreference.com <https://en.cppreference.com/w/cpp/compiler_support/17>`_.
 
-To keep track with the evolution of the standard, newer C++ version can be used
+To keep track with the evolution of the standard, newer C++ versions can be used
 to build LLVM. However, our support focuses on the minimum supported C++
 version and a very recent standard may not yet be supported, or only using the
 latest version of the supported toolchains and possibly not across all the



More information about the llvm-commits mailing list