RFR: 8321533: Clang build for Windows

Daniel Jeliński djelinski at openjdk.org
Fri Dec 8 17:11:18 UTC 2023


On Fri, 8 Dec 2023 15:56:40 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:

> 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's correct.
Clang-cl only supports the following cl warning parameters:

  /W0                     Disable all warnings
  /W1                     Enable -Wall
  /W2                     Enable -Wall
  /W3                     Enable -Wall
  /W4                     Enable -Wall and -Wextra
  /Wall                   Enable -Weverything

note how `Wall` differs in meaning between clang and clang-cl. [Source](https://clang.llvm.org/docs/UsersManual.html#id10)

> I assume that means that even with your linked patches, the build will spew out warnings.

Right, with this patch the build produces warnings. No per-file or per-module suppressions are applied.

> we need to design the integration of clang-cl in a way that we can (hopefully) reuse existing clang warning disables.

I'd love that. Got any preferences on how that should be handled?

> And, oh, I must say that I think "clcl" as name for the toolchain is really bad. :-(

It was not my first choice. I tried `clang-cl` first; the scripts didn't like the dash. Then I tried `clangcl`, and some of the changes found their way into the MacOS build. `findstring` is tricky to get right.

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

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


More information about the build-dev mailing list