On Thu, 7 Dec 2023 15:52:46 GMT, Daniel Jeliński <djelin...@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.

This is interesting, but we must be careful to not rush things here. We're 
basically creating a chimera, mixing assumptions about "windows", "microsoft 
toolchain" and "clang".

Do I understand you correctly that clang-cl uses "mostly" the same arguments as 
cl, but uses the clang warnings system, e.g. -Wno-foo-loops instead of C1234?

That means we need to separate the warning option handling from all the other 
options. You say something about not disabling warnings adds a minute to the 
build time. I assume that means that even with your linked patches, the build 
will spew out warnings.

This is not something we can fix "afterwards"; we need to design the 
integration of clang-cl in a way that we can (hopefully) reuse existing clang 
warning disables.

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

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

Reply via email to