benlangmuir accepted this revision.
benlangmuir added a comment.
This revision is now accepted and ready to land.

LGTM



================
Comment at: clang/lib/Frontend/CompilerInstance.cpp:2017
     // migrate off of Foo.Private syntax.
-    if (!Sub && PP->getLangOpts().ImplicitModules && Name == "Private" &&
-        Module == Module->getTopLevelModule()) {
+    if (!Sub && Name == "Private" && Module == Module->getTopLevelModule()) {
       SmallString<128> PrivateModule(Module->Name);
----------------
jansvoboda11 wrote:
> jansvoboda11 wrote:
> > benlangmuir wrote:
> > > Not sure if this is a good idea, but have you considered having the 
> > > scanner provide the module with `Foo.Private=` syntax instead? It would 
> > > be nice to keep this hack contained to implicit builds if we can.
> > Interesting idea, that didn't occur to me. What implementation strategy are 
> > you thinking of?
> > 
> > If we want to avoid this hack, it seems like we'd need to pass 
> > `ModuleIdPath ImportPath` instead of `StringRef ModuleName` to 
> > `findOrCompileModuleAndReadAST()` and friends. That would allow us to look 
> > up the most specific `-fmodule-file=` argument. I'm not convinced changing 
> > multiple functions (and then changing them back when we don't need the 
> > hack) is better than extending the hack to explicit modules.
> > 
> > The upside is that we wouldn't need to report `M` as a dependency. WDYT?
> Another thing to consider: implicit build would need to propagate the 
> information that module `Foo_Private` needs to be spelled on the command-line 
> as `Foo.Private` to the scanner.
Okay, it sounds like the current patch is less invasive than the alternative. 
Thanks for talking it through.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D132502

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

Reply via email to