kadircet added a comment.

I believe we should log some warning at startup if user has provided 
`--compile-commands-dir`. Saying that "CDB search customizations through config 
is disabled". (only emitting the warning when we hit a config with CDB search 
customization would be nicer, but plumbing and making ConfigCompiler aware of 
such things sounds terrifying :/)

mostly LG, didn't get a change to look at the tests yet (will do so soon)



================
Comment at: clang-tools-extra/clangd/ConfigCompile.cpp:267
+      llvm::Optional<Config::CDBSearchSpec> Spec;
+      if (**F.CompilationDatabase == "Ancestors") {
+        Spec.emplace();
----------------
i hope no one tries to put their CDBs in a directory named Ancestors/None :)))

(it is definitely better than breaking any project with a top-level directory 
named Ancestors/None)


================
Comment at: clang-tools-extra/clangd/ConfigCompile.cpp:278
+          // Drop trailing slash to put the path in canonical form.
+          // Should makeAbsolute do this?
+          llvm::StringRef Rel = llvm::sys::path::relative_path(*Path);
----------------
+1 i think it should.


================
Comment at: clang-tools-extra/clangd/GlobalCompilationDatabase.cpp:617
+        Child->Parent = &Info;
+      // Keep walking, whether we inserted or not, if parent link is missing.
+      // (If it's present, parent links must be present up to the root, so 
stop)
----------------
missing a `Child = &Info;` ?


================
Comment at: clang-tools-extra/clangd/GlobalCompilationDatabase.cpp:650
+      DirValues[I]->Cache = DirCaches[I];
+      if (DirCaches[I] == ThisCache)
+        DirValues[I]->State = DirInfo::TargetCDB;
----------------
nit: `DirValues[I]->State = DirCaches[I] == ThisCache ? DirInfo::TargetCDB : 
DirInfo::Unknown;`, to reduce branching.


================
Comment at: clang-tools-extra/clangd/GlobalCompilationDatabase.cpp:680
+    // Walk up to the next parent.
+    return shouldInclude(SearchPath(Info->Parent, P.getInt()));
   }
----------------
s/P.getInt()/1

as we'll bail out otherwise.


================
Comment at: clang-tools-extra/clangd/GlobalCompilationDatabase.cpp:717
+      case Config::CDBSearchSpec::Ancestors:
+        SearchPaths[I].setInt(/*Recursive*/ 1);
+        SearchPaths[I].setPointer(addParents(AllFiles[I]));
----------------
s/Recursive/Recursive=/


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D95057/new/

https://reviews.llvm.org/D95057

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to