RFR: 8321533: Clang build for Windows

Daniel Jeliński djelinski at openjdk.org
Fri Dec 8 09:40:15 UTC 2023


On Thu, 7 Dec 2023 15:52:46 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:

> I'd like to propose a new toolchain for Windows using the clang-cl compiler frontend.
> 
> Clang-cl is available as an optional feature in all Visual Studio editions, including the free-for-OSS-development community edition.
> 
> Clang-cl command line is mostly compatible with cl. However, clang-cl offers a distinct set of diagnostic messages and warnings, which can be used to improve code quality.
> 
> In order to use the clang compiler:
> - install Visual Studio 2022
> - install C++ Clang Compiler (https://learn.microsoft.com/en-us/cpp/build/clang-support-msbuild?view=msvc-170)
> - configure `--with-toolchain-type=clcl`
> - compile as usual.
> 
> Note: at this moment the code does not build; I plan to submit separate patches that fix the build problems separately. For the impatient, [this patch](https://github.com/djelinski/jdk/commit/d67a16244f4e6db8e6e8c59266bebd17827bc2a5) should be enough to compile the JDK, and [this one](https://github.com/djelinski/jdk/commit/1580e7cf54cca61d3ab58891619553994ea26b10) is needed to get tier1 to pass.

Thanks for the suggestions, I'll apply them shortly.

The current devkits do not contain the required clang frontend (clang-cl.exe, llvm-lib.exe and lld-link.exe).

I compared `make hotspot` performance, got the following results:
- default toolchain (msvc 19.35): 6 min 35 sec
- this PR (clang 15.0.1): 7 min 41 sec
- this PR with compiler warnings disabled: 6 min 47 sec

so it's going to be slightly slower than MSVC once we have all the warning suppressions in place.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/17019#issuecomment-1846860566


More information about the build-dev mailing list