zixuw added a comment.

In D82118#2154280 <https://reviews.llvm.org/D82118#2154280>, @vsapsai wrote:

> Didn't get into details but overall GenModuleActionWrapper approach looks 
> pretty complicated. Haven't tried to accomplish the same myself, so cannot 
> say if such complexity is warranted or not.


Yes the approach is complicated. But one thing to note is that the 
`GenModuleActionWrapper`-related facilities are upstreamed from 
apple/llvm-project. I adopted this approach just because it was available. 
Haven't explored other ways, but yes there might be a simpler approach.

> What happens with fixits in modules when you don't have 
> GenModuleActionWrapper?

If the fixit action is not forwarded to the new compiler instance, it will be 
handled by the 'outer' compiler instance, which has a different source manager 
that does not see the module files, so the source location cannot be correctly 
interpreted. From my experiments, the fixit hint is trying to write into the 
`<builtin>` file buffer in this test case, when I don't have the action 
forwarded using `GenModuleActionWrapper`. In this case the fixit rewriter 
quietly fails because `<builtin>` cannot be rewritten, but since this is not 
caught I think there might be cases where the wrong file ends up getting 
updated.

> How does it work with modules disabled? Also looks like there are no tests 
> for incomplete umbrella warning when modules are disabled.

Haven't tested this, will give a try.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D82118



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

Reply via email to