[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