================
@@ -188,13 +192,23 @@ class FullDependencyConsumer : public DependencyConsumer {
     ContextHash = std::move(Hash);
   }
 
+  void handleProvidedAndRequiredStdCXXModules(
+      std::optional<P1689ModuleInfo> Provided,
+      std::vector<P1689ModuleInfo> Requires) override {
+    ModuleName = Provided ? Provided->ModuleName : "";
----------------
naveen-seth wrote:

`ModuleName` stores the name of the exported standard C++ module.
After `takeTranslationUnitDeps()`, it is stored in the 
`TranslationUnitDeps.ID.ModuleName` field [(here)](
https://github.com/naveen-seth/llvm-project/blob/74772e0e1b54f8f2648c1bcc0311d3389156ab7c/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp#L174).

I don't think this should be dead code because it is used in 
`ClangScanDeps.cpp` when printing the `--experimental-full` format (first 
reassigned 
[here](https://github.com/naveen-seth/llvm-project/blob/4936fc5a5663717ef6f3617320875b07fa201304/clang/tools/clang-scan-deps/ClangScanDeps.cpp#L407C8-L407C19),
 then used for printing 
[here](https://github.com/naveen-seth/llvm-project/blob/4936fc5a5663717ef6f3617320875b07fa201304/clang/tools/clang-scan-deps/ClangScanDeps.cpp#L525-L526)).

Maybe it would improve clarity if we keep `ContextHash` and `ModuleName` 
together in a `ModuleID` field within `FullDependencyConsumer`, just as 
TranslationUnitDeps does, rather than keeping them ungrouped.
This would then directly lead people to the documentation of 
`ModuleID.ModuleName` 
[(here)](https://github.com/naveen-seth/llvm-project/blob/4936fc5a5663717ef6f3617320875b07fa201304/clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h#L93).

https://github.com/llvm/llvm-project/pull/145221
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to