llunak added a comment.

In D69778#1927526 <https://reviews.llvm.org/D69778#1927526>, @dblaikie wrote:

> @rnk  - know anything about the history of -building-pch-with-obj and whether 
> it could be replaced/merged with -fmodules-codegen? (-fmodules-codegen + 
> -fmodules-debuginfo, perhaps?)


It comes from 08c5a7b8fda1b97df9d027d1ac096f93edeb6c2f . AFAICT 
-fmodules-codegen is a superset of -building-pch-with-obj, the important 
difference is that -building-pch-with-obj decides which code will be shared 
while building TUs, while -fmodules-codegen decides while building the PCH. 
This in practice means that -building-pch-with-obj shares only code that would 
be actually used, which makes the result easier to use - using PCH with 
-fmodules-codegen pretty much requires something like -Wl,--gc-sections, 
otherwise there are many undefined references to internal symbols from other 
libraries caused by emitted code that isn't actually used. Since 
-building-pch-with-obj is internally used by clang-cl /Yc , -fmodules-codegen 
cannot be a drop-in replacement for it, unless the Microsoft linker 
automatically discards unused symbols (I don't know, no idea about Windows 
stuff).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D69778



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

Reply via email to