kadircet added inline comments.
================ Comment at: clang-tools-extra/clangd/GlobalCompilationDatabase.cpp:91 + // Whether a new CDB has been loaded but not broadcast yet. + bool Dirty = false; + // Last loaded CDB, meaningful if CachePopulated is set. ---------------- maybe rename this to `DidBroadcast` if we are not planning to add extra meaning to `Dirty` in the near future? ================ Comment at: clang-tools-extra/clangd/GlobalCompilationDatabase.cpp:119 + if (CachePopulated) { + ShouldBroadcast = Dirty; + Dirty = false; ---------------- what if caller is not willing to broadcast? ================ Comment at: clang-tools-extra/clangd/GlobalCompilationDatabase.cpp:253 + for (DirectoryCache *Candidate : getDirectoryCaches(SearchDirs)) { + if ((CDB = Candidate->get(ShouldBroadcast))) { + DirCache = Candidate; ---------------- won't this overwrite `ShouldBroadcast` ? for example if we get a query with `ShouldBroadcast` set to `true`, but first searchdir doesn't have a CDB underneath, for all the consecutive calls this will be `false`. ================ Comment at: clang-tools-extra/clangd/GlobalCompilationDatabase.cpp:263 - Result.CDB = Entry->CDB.get(); - Result.PI.SourceRoot = Entry->Path; - } + // Mark CDB as broadcasted to make sure discovery is performed once. + CDBLookupResult Result; ---------------- stale comment. ================ Comment at: clang-tools-extra/clangd/GlobalCompilationDatabase.h:88 + mutable llvm::StringMap<DirectoryCache> DirCaches; + mutable std::mutex Mutex; + mutable std::unique_ptr<DirectoryCache> OnlyDirCache; ---------------- it is kind of hard to figure out if this mutex is also meant for OnlyDirCache. maybe separate it with a line or put some explicit `governed by` annotations? ================ Comment at: clang-tools-extra/clangd/GlobalCompilationDatabase.h:89 + mutable std::mutex Mutex; + mutable std::unique_ptr<DirectoryCache> OnlyDirCache; + ---------------- some comments about semantics of `OnlyDirCache` ? I suppose existing of it implies `DirCaches` won't be used at all ? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D92381/new/ https://reviews.llvm.org/D92381 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits