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

Manuel Klimek via cfe-commits cfe-commits at lists.llvm.org
Sat Aug 13 21:57:49 PDT 2016


On Sat, Aug 13, 2016, 10:17 PM Zachary Turner <zturner at google.com> wrote:

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

Why? We did add compilation database support to cmake in the first place.
Back then I did not support windows, btw, so I'd be surprised if that
worked now without also using the arguments format that has already been
added to the spec for that reason.

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
> defined.
>
> Reid, do you agree with this?
>

I'd like to see a stronger reason why adding arguments support to cmake is
not the right thing to do.


> On Sat, Aug 13, 2016 at 10:35 AM Alexander Kornienko <alexfh at google.com>
> wrote:
>
>> 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/20160814/c20ac918/attachment.html>


More information about the cfe-commits mailing list