[PATCH] D23455: [Tooling] Parse compilation database command lines properly on Windows

Zachary Turner via cfe-commits cfe-commits at lists.llvm.org
Sat Aug 13 12:17:21 PDT 2016

The json is generated by CMake, so I don't thinks we can do this without
patching CMake, which is a non-starter.

I don't think this will break mingw. Mingw is still Windows, and still uses
Windows backslashes, quoting rules, and escaping rules.

You might be thinking of cygwin, but in the case LLVM_ON_WIN32is not

Reid, do you agree with this?

On Sat, Aug 13, 2016 at 10:35 AM Alexander Kornienko <alexfh at google.com>

> alexfh added inline comments.
> ================
> Comment at: lib/Tooling/JSONCompilationDatabase.cpp:119
> @@ -115,1 +118,3 @@
>      StringRef EscapedCommandLine) {
> +#if defined(LLVM_ON_WIN32)
> +  llvm::BumpPtrAllocator Alloc;
> ----------------
> As noted on D23409, this will likely break mingw compatibility in clang on
> windows. We should either add a sort of auto-detection of the command line
> format, or extend the JSON compilation database with a way to specify the
> command line format used (or as Reid suggests, specify a list of arguments,
> but this should be done in a backward-compatible way).
> https://reviews.llvm.org/D23455
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160813/6b3043cd/attachment.html>

More information about the cfe-commits mailing list