[clangd-dev] Automatically adding includes always inserts the full path on windows

Stefan Lietzau via clangd-dev clangd-dev at lists.llvm.org
Mon Jun 3 04:30:57 PDT 2019


Hi there,
 
I'm using clangd with vscode on windows with the option to add includes when autocompleting symbols. However the inserted include is always absolute, even if the file is present in the include path (compile-commands.json generated by CMake). I tracked the problem down to a path comparison where one path coming from the compilation database contains forward slashes and the other path (header where the symbol definition was found) contains backslashes. Since this is a simple string comparison it fails and determines the header is not part of the include directories.
 
I don't think the best fix would be to convert the paths before comparison or use a better comparison. Instead I think this is something that needs to be fixed deep inside clang tooling. That means I think the paths returned by the compilation database should be in a predictable format.
 
What do you guys think?
 
Kind regards
 
Stefan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/clangd-dev/attachments/20190603/5eb227ee/attachment.html>


More information about the clangd-dev mailing list