Clang refactoring tools and clang-cl on Windows

Hi cfe-dev,

I'm interested in using the Clang refactoring tools on Windows code. We have a large multi-platform codebase, and while we use Clang to compile a lot of it, we still have quite a bit of Windows-specific code which we compile with MSVC. Initial results refactoring the Clang-compatible code were good, so I'm hopeful I can parse most of the MSVC-specific stuff as well. Is it possible to use clang-cl somehow as the frontend for the refactoring tools? I can get a compilation database with the CL.exe flags pretty easily, but translating that to clang flags across our whole codebase is likely to be challenging. I'm open to modifying the refactoring tools a bit/writing my own tools if that's what it takes.


Some people did a lot of work making both clang-tidy and clang-format easy to use on windows.



Hi Liam,

I think this should basically work fine. In Chromium, we’ve used clang tooling to do various things, and we use cl.exe style flags on Windows. has some words on it; is the that’s referenced there.

Under the hood, I believe the way this works is that libTooling looks for either --driver-mode (maybe here? or for the name of the clang binary in the comp db.

Well that's good news! Thanks everyone, I'll give that a try.