[cfe-dev] Relative Paths in Compilation Database

Manuel Klimek klimek at google.com
Tue Mar 17 12:57:25 PDT 2015


I haven't had time to look.

On Tue, Mar 17, 2015 at 6:06 PM Daniel Dilts <diltsman at gmail.com> wrote:

> 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/8de07702/attachment.html>


More information about the cfe-dev mailing list