[PATCH] D112399: Get Bazel building `//clang` on Windows with clang-cl.

Reid Kleckner via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 1 11:01:18 PDT 2021


rnk added inline comments.


================
Comment at: utils/bazel/.bazelrc:81
+build:windows --copt=/Oi --host_copt=/Oi
+build:windows --cxxopt=/Zc:rvalueCast --host_cxxopt=/Zc:rvalueCast
+
----------------
Try adding `/permissive-` to get more conforming behavior from clang-cl. If that doesn't work, try `/Zc:twoPhase-`, aka `-fno-delayed-template-parsing`.


================
Comment at: utils/bazel/.bazelrc:84
+# Use the more flexible bigobj format for C++ files that have lots of symbols.
+build:windows --cxxopt=/bigobj --host_cxxopt=/bigobj
 
----------------
This is only necessary for MSVC. LLVM MC auto-detects when bigobj is needed. IMO, less flags is always better.


================
Comment at: utils/bazel/llvm-project-overlay/clang/BUILD.bazel:1828
     ],
-    copts = [
-        "-Wno-uninitialized",
-    ],
+    copts = select({
+        "@bazel_tools//src/conditions:windows": [],
----------------
Enabling warnings is good, but what made this change necessary? The `-Wno-` flag should have worked with clang-cl. If this change isn't necessary, maybe go ahead and delete this copt in a separate commit.


================
Comment at: utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h:81
 /* The LLVM product name and version */
 #define BACKEND_PACKAGE_STRING "LLVM 12.0.0git"
 
----------------
chandlerc wrote:
> GMNGeoffrey wrote:
> > rnk wrote:
> > > Unrelated to your change, but is this stale?
> > Yes and we don't currently have a good way to keep it up to date. The overall problem of how to make sure we keep up to date with CMake configure knobs is unsolved. I wonder if we could run CMake in some limited capacity, but that's a whole can of worms...
> I'll just commit an update to this separately. I assume that doesn't need separate review? ;]
Nope, ship it.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112399/new/

https://reviews.llvm.org/D112399



More information about the cfe-commits mailing list