[clang] [clang] [docs] Clarify the issue with compiler-rt on Windows/MSVC (PR #106875)

Martin Storsjö via cfe-commits cfe-commits at lists.llvm.org
Sat Aug 31 14:59:57 PDT 2024


https://github.com/mstorsjo created https://github.com/llvm/llvm-project/pull/106875

Compiler-rt does support Windows just fine, even if outdated docs pages didn't list it as one of the supported OSes, this is being rectified in https://github.com/llvm/llvm-project/pull/106874.

MinGW is another environment configuration on Windows, where compiler-rt or libgcc is linked in automatically, so there's no issue with having such builtins functions available.

For MSVC style environments, compiler-rt builtins do work just fine, but Clang doesn't automatically link them in. See e.g. https://discourse.llvm.org/t/improve-autolinking-of-compiler-rt-and-libc-on-windows-with-lld-link/71392 for a discussion on how to improve this situation. But none of that issue is that compiler-rt itself wouldn't support Windows.

>From 9ff3b1526e8b43b4d5856983340b8641b74ba3cb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin at martin.st>
Date: Sun, 1 Sep 2024 00:55:25 +0300
Subject: [PATCH] [clang] [docs] Clarify the issue with compiler-rt on
 Windows/MSVC

Compiler-rt does support Windows just fine, even if outdated docs
pages didn't list it as one of the supported OSes, this is being
rectified in https://github.com/llvm/llvm-project/pull/106874.

MinGW is another environment configuration on Windows, where
compiler-rt or libgcc is linked in automatically, so there's no
issue with having such builtins functions available.

For MSVC style environments, compiler-rt builtins do work just fine,
but Clang doesn't automatically link them in. See e.g.
https://discourse.llvm.org/t/improve-autolinking-of-compiler-rt-and-libc-on-windows-with-lld-link/71392
for a discussion on how to improve this situation. But none of that
issue is that compiler-rt itself wouldn't support Windows.
---
 clang/www/c_status.html | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/clang/www/c_status.html b/clang/www/c_status.html
index 91638331be877a..255690cd6d34e2 100644
--- a/clang/www/c_status.html
+++ b/clang/www/c_status.html
@@ -1057,8 +1057,8 @@ <h2 id="c99">C99 implementation status</h2>
           conformance to Annex G.<br />
           <br />
           <code>_Complex</code> support requires an underlying support library
-          such as compiler-rt to provide functions like <code>__divsc3</code>,
-          but compiler-rt is not supported on Windows.
+          such as compiler-rt to provide functions like <code>__divsc3</code>.
+          Compiler-rt isn't linked in automatically in MSVC style environments.
         </details>
       </td>
     </tr>



More information about the cfe-commits mailing list