vsapsai added inline comments.

================
Comment at: clang/lib/Frontend/DependencyFile.cpp:100
+
+    DepCollector.maybeAddDependency(HeaderPath, /*FromModule=*/false, IsSystem,
+                                    /*IsModuleFile*/ false,
----------------
This `/*FromModule=*/false` looks confusing and suspicious but seems like we 
don't use this argument, so it doesn't really matter and worth cleaning up (out 
of scope for this change).


================
Comment at: clang/lib/Frontend/DependencyFile.cpp:105-109
+  void moduleMapAddUmbrellaHeader(FileManager *FileMgr, const FileEntry 
*Header,
+                                  bool IsSystem, bool Imported) override {
+    DepCollectorMMCallbacks::moduleMapAddHeader(Header->getName(), IsSystem,
+                                                Imported);
+  }
----------------
What is the purpose of this method and the one in `DFGMMCallback`? It looks 
correct-ish but after removing this callback, the tests are still passing.


================
Comment at: clang/lib/Lex/ModuleMap.cpp:1198-1203
+    // If the header in the module map refers to a symlink, Header.Entry
+    // refers to the actual file. The callback should be notified of both.
+    if (!FullPathAsWritten.empty() &&
+        !FullPathAsWritten.equals(Header.Entry->getName())) {
+      Cb->moduleMapAddHeader(FullPathAsWritten, Mod->IsSystem, Imported);
+    }
----------------
It is strange but after removing this part the tests are still passing. I 
suspect the code is correct but the test allows some roundabout way to add 
symlink to dependencies. In my experiments only 
`DFGMMCallback::moduleMapAddHeader` affects the tests. Is it expected?


https://reviews.llvm.org/D53522



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

Reply via email to