ilya-biryukov added a comment.
Just a few nits left.
================
Comment at: clangd/ClangdLSPServer.cpp:422
+ std::move(Entry.second.workingDirectory),
+ llvm::sys::path::filename(File),
+ std::move(Entry.second.compilationCommand),
----------------
Other usages of FileName in tooling::CompileCommand seem to set this either to
an absolute or a relative-to-cwd path to the file for the command.
Maybe put the whole filepath there too? (even though I don't think we
particularly rely on this anywhere in clangd)
================
Comment at: clangd/ClangdLSPServer.cpp:539
+ static_cast<InMemoryCompilationDb *>(CDB.get())->invalidate(File);
+ else if (CachingCDB)
+ CachingCDB->invalidate(File);
----------------
Other methods already assume it's non-null for directory-based CDB, so maybe
remove the check for it being non-null here or replace the check with an assert?
================
Comment at: test/clangd/did-change-configuration-params.test:43
+#
+# ERR: Updating file /clangd-test/foo.c with command [/clangd-test2] clang -c
foo.c -Wall -Werror
+# Don't reparse the second file:
----------------
Matching the stderr output seems fragile, but that's the only way to inspect
the actual compile command that's used, so that's probably fine here.
However, the paths on windows will probably differ (notice the regexp matches
for file uris), so we might need to do the regexp match here as well,
e.g.`Updating file {{.*}}foo.c with command ...` to keep the Windows buildbots
happy.
https://reviews.llvm.org/D49758
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits