Skip to content

Conversation

@philnik777
Copy link
Contributor

@philnik777 philnik777 commented Oct 30, 2025

We're already requiring newer compilers, but haven't updated the documentation yet.

@philnik777 philnik777 marked this pull request as ready for review October 31, 2025 11:15
@philnik777 philnik777 requested a review from a team as a code owner October 31, 2025 11:15
@llvmbot llvmbot added the libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. label Oct 31, 2025
@philnik777 philnik777 merged commit d1146b1 into llvm:main Oct 31, 2025
83 checks passed
@philnik777 philnik777 deleted the document_compiler_versions branch October 31, 2025 11:16
@llvmbot
Copy link
Member

llvmbot commented Oct 31, 2025

@llvm/pr-subscribers-libcxx

Author: Nikolas Klauser (philnik777)

Changes

We're already requiring newer compilers, but haven't updated the documentation yet.


Full diff: https://github.com/llvm/llvm-project/pull/165684.diff

2 Files Affected:

  • (modified) libcxx/docs/index.rst (+1-1)
  • (modified) libcxx/include/__configuration/compiler.h (+6-6)
diff --git a/libcxx/docs/index.rst b/libcxx/docs/index.rst
index 495ccceb31cef..03dfb9d41aa1a 100644
--- a/libcxx/docs/index.rst
+++ b/libcxx/docs/index.rst
@@ -132,7 +132,7 @@ velocity, libc++ drops support for older compilers as newer ones are released.
 ============ =================== ========================== =====================
 Compiler     Versions            Restrictions               Support policy
 ============ =================== ========================== =====================
-Clang        19, 20, 21-git                                 latest two stable releases per `LLVM's release page <https://releases.llvm.org>`_ and the development version
+Clang        20, 21, 22-git                                 latest two stable releases per `LLVM's release page <https://releases.llvm.org>`_ and the development version
 AppleClang   26.0                                           latest stable release per `Xcode's release page <https://developer.apple.com/documentation/xcode-release-notes>`_
 Open XL      17.1.3 (AIX)                                   latest stable release per `Open XL's documentation page <https://www.ibm.com/docs/en/openxl-c-and-cpp-aix>`_
 GCC          15                  In C++11 or later only     latest stable release per `GCC's release page <https://gcc.gnu.org/releases.html>`_
diff --git a/libcxx/include/__configuration/compiler.h b/libcxx/include/__configuration/compiler.h
index 11c07ed0dc474..7cd81e03b05ba 100644
--- a/libcxx/include/__configuration/compiler.h
+++ b/libcxx/include/__configuration/compiler.h
@@ -33,16 +33,16 @@
 // Warn if a compiler version is used that is not supported anymore
 // LLVM RELEASE Update the minimum compiler versions
 #  if defined(_LIBCPP_CLANG_VER)
-#    if _LIBCPP_CLANG_VER < 1900
-#      warning "Libc++ only supports Clang 19 and later"
+#    if _LIBCPP_CLANG_VER < 2001
+#      warning "Libc++ only supports Clang 20 and later"
 #    endif
 #  elif defined(_LIBCPP_APPLE_CLANG_VER)
-#    if _LIBCPP_APPLE_CLANG_VER < 1600
-#      warning "Libc++ only supports AppleClang 15 and later"
+#    if _LIBCPP_APPLE_CLANG_VER < 1700
+#      warning "Libc++ only supports AppleClang 26 and later"
 #    endif
 #  elif defined(_LIBCPP_GCC_VER)
-#    if _LIBCPP_GCC_VER < 1400
-#      warning "Libc++ only supports GCC 14 and later"
+#    if _LIBCPP_GCC_VER < 1500
+#      warning "Libc++ only supports GCC 15 and later"
 #    endif
 #  endif
 

DEBADRIBASAK pushed a commit to DEBADRIBASAK/llvm-project that referenced this pull request Nov 3, 2025
@miladfarca
Copy link

Hello,
We currently use Clang 19 to build the V8 Js compiler on our platforms ppc64 and s390x. This PR was just pulled in V8 in this CL as a third part dependency:
https://chromium-review.googlesource.com/c/v8/v8/+/7109989

and it is causing failures for us as V8 depends on libcxx and our compiler version is older. Could I ask if there are specific features which need Clang 20? things seemed to have been compiling fine for us.

@philnik777
Copy link
Contributor Author

Hello, We currently use Clang 19 to build the V8 Js compiler on our platforms ppc64 and s390x. This PR was just pulled in V8 in this CL as a third part dependency: https://chromium-review.googlesource.com/c/v8/v8/+/7109989

and it is causing failures for us as V8 depends on libcxx and our compiler version is older. Could I ask if there are specific features which need Clang 20? things seemed to have been compiling fine for us.

We drop workarounds as we go (including mis-compilations in some cases), which we've done recently. Even if there isn't a specific need for new features, we clearly state that we drop older compilers. We don't know what works on older compilers, which is why we warn here. There doesn't have to be a specific reason we drop a supported version, except that a new one was released.

@miladfarca
Copy link

Makes sense, thank you for the information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants