On Mon, 11 Dec 2023 14:37:35 GMT, Magnus Ihse Bursie <i...@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. > > So, in this case, I believe that if it is possible to reuse warnings from > "normal" clang, and the rest of the build process from the existing > microsoft-cl toolchain, then the impact might be very small in the code. But > it will require some surgery in the toolchain logic, to separate the actual > compiler from the rest of the toolchain. > > It can certainly be done, but might take a few iterations back and forth to > get it right. But maybe that's the sort of thing that @TheShermanTanker > enjoys? > > So my verdict is that we can't really accept this PR as it is, but using > microsoft-clang is definitely an interesting experiment, and we should lay > the groundwork for being able to implement it in a proper fashion. And if it > then actually can be implemented with minimal impact to existing code, then > we should do it. @magicus just to make sure we are talking about the same thing, are you suggesting configuring the compiler separately from the toolchain, using something like `--with-toolchain=microsoft --with-compiler=clang-cl`? Technically that could work. It still doesn't address the argument that no organization is going to take up the task of maintaining this setup. ------------- PR Comment: https://git.openjdk.org/jdk/pull/17019#issuecomment-1852123265