[PATCH] D69825: [Clang][Driver] Re-use the calling process instead of creating a new process for the cc1 invocation

Duncan P. N. Exon Smith via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Dec 5 11:21:10 PST 2019


dexonsmith added a comment.

In D69825#1771300 <https://reviews.llvm.org/D69825#1771300>, @arphaman wrote:

> I guess Duncan's comments on https://reviews.llvm.org/D70568 were for this patch. I think it would be good to have:


That's right, I was confused about which review I was on.

> - A cmake option that controls the default behavior. It should still fork for Darwin by default, the detection should be done through CMake when it's building for a Darwin platform.
> - A driver/cc1 flag that allows the user to override the behavior.



- I don't think a `-cc1` flag is reasonable, because it affects the caller, not `-cc1` itself.  I would be confused by this I think.
- Driver flag seems a bit too user-facing, but probably fine.
- Another (maybe odd) option would be an environment variable, such as `CLANG_FORK_CC1=1` or `CLANG_FORK_CC1=0`, which overrides the default.

> This will allow users to avoid cc1 forking either by building their own Clang, or by passing in a flag with their build options. WDYT?

Right.  Some way to control at runtime, especially so we can test both ways of launching in `check-clang` but also probably useful for other scenarios, and a cmake flag to set the default so vendors can choose.


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

https://reviews.llvm.org/D69825





More information about the cfe-commits mailing list