[cfe-dev] Relative Paths in Compilation Database

Daniel Dilts diltsman at gmail.com
Tue Mar 17 10:06:54 PDT 2015


What appears to be the exact problem?  Are relative paths just not properly
implemented, or is the problem more specific than that?

On Tue, Mar 17, 2015 at 4:07 AM, Manuel Klimek <klimek at google.com> wrote:

> I think this is a known problem. Patches very welcome :)
>
> On Tue, Mar 17, 2015 at 1:14 AM Daniel Dilts <diltsman at gmail.com> wrote:
>
>> I am calling runClangTidy using a JSONCompilationDatabase that I generate
>> from a string.  Everything works perfectly until I have a relative path.
>>
>> With the following database I use "D:\\CMakeTest\\bld\\..\\src\\main.cpp"
>> as the file to open:
>> [
>>    {
>>       "directory": "D:\\CMakeTest\\bld\\",
>>       "command"  : "D:/llvm/build/Debug/bin/clang.exe -I\"C:\\Program
>> Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\" -I\"C:\\Program
>> Files (x86)\\Microsoft Visual Studio 12.0\\VC\\atlmfc\\include\"
>> -I\"C:\\Program Files (x86)\\Windows Kits\\8.1\\Include\\um\"
>> -I\"C:\\Program Files (x86)\\Windows Kits\\8.1\\Include\\shared\"
>> -I\"C:\\Program Files (x86)\\Windows Kits\\8.1\\Include\\winrt\"
>> -I\"C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\"
>> -I\"C:\\Program Files (x86)\\Microsoft Visual Studio
>> 12.0\\VC\\atlmfc\\include\" -I\"C:\\Program Files (x86)\\Windows
>> Kits\\8.1\\Include\\um\" -I\"C:\\Program Files (x86)\\Windows
>> Kits\\8.1\\Include\\shared\" -I\"C:\\Program Files (x86)\\Windows
>> Kits\\8.1\\Include\\winrt\"   -DWIN32 -D_WINDOWS -D_DEBUG
>> -DCMAKE_INTDIR=\"Debug\" ..\\src\\main.cpp",
>>       "file"     : "..\\src\\main.cpp"
>>    },
>> ]
>>
>> This gives me an output of "Error while processing
>> D:\\CMakeTest\\bld\\..\\src\\main.cpp."
>>
>> When I use the following database with "D:\\CMakeTest\\src\\main.cpp" as
>> the file to open, everything works.
>>
>> [
>>    {
>>       "directory": "D:\\CMakeTest\\src\\",
>>       "command"  : "D:/llvm/build/Debug/bin/clang.exe -I\"C:\\Program
>> Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\" -I\"C:\\Program
>> Files (x86)\\Microsoft Visual Studio 12.0\\VC\\atlmfc\\include\"
>> -I\"C:\\Program Files (x86)\\Windows Kits\\8.1\\Include\\um\"
>> -I\"C:\\Program Files (x86)\\Windows Kits\\8.1\\Include\\shared\"
>> -I\"C:\\Program Files (x86)\\Windows Kits\\8.1\\Include\\winrt\"
>> -I\"C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\"
>> -I\"C:\\Program Files (x86)\\Microsoft Visual Studio
>> 12.0\\VC\\atlmfc\\include\" -I\"C:\\Program Files (x86)\\Windows
>> Kits\\8.1\\Include\\um\" -I\"C:\\Program Files (x86)\\Windows
>> Kits\\8.1\\Include\\shared\" -I\"C:\\Program Files (x86)\\Windows
>> Kits\\8.1\\Include\\winrt\"   -DWIN32 -D_WINDOWS -D_DEBUG
>> -DCMAKE_INTDIR=\"Debug\" main.cpp",
>>       "file"     : "main.cpp"
>>    },
>> ]
>>
>>
>> Is there something that I am doing wrong?  The only changes between the
>> two compilation databases are the directory and file entries.  Both should
>> refer to the same absolute path.
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20150317/a1218ba5/attachment.html>


More information about the cfe-dev mailing list