[PATCH] D49267: [clangd] Watch for changes in compile_commands.json
Marc-Andre Laperle via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 24 07:47:07 PDT 2018
malaperle added inline comments.
================
Comment at: clangd/ClangdLSPServer.cpp:430
CDB.clear();
-
- reparseOpenedFiles();
+ compileCommandsChangePost(CCChangeData);
}
----------------
ilya-biryukov wrote:
> Maybe keep the old logic of reparsing all open files? This would make the change way simpler and I don't think we need this extra complexity in the long run, when we have better integration with the build system.
>
> ClangdServer will reuse the preamble if compile command didn't change anyway, so reparse will be very fast and shouldn't be affected.
> If the compile command does change, we'll retrigger the full rebuild.
I think the change is not that complex but brings much added value. About the integration with the build system, there are many build systems out there so I don't think better integration will be useful in many scenarios (plain make, custom builds, etc). This solution is generic enough so that any build system that generates compile_commands.json will be supported in a pretty good way.
Repository:
rCTE Clang Tools Extra
https://reviews.llvm.org/D49267
More information about the cfe-commits
mailing list