On Wed, Oct 09, 2024 at 07:06:26PM -0400, Patrick Palka wrote:
> On Wed, 9 Oct 2024, Jason Merrill wrote:
> 
> > Tested x86_64-pc-linux-gnu, will apply to trunk with the rest of the patch
> > series.
> > 
> > -- 8< --
> > 
> > At this point there doesn't seem to be much reason not to have modules
> > support enabled by default in C++20, and it's good get more test coverage to
> > find corner case bugs like some I fixed recently.
> 
> Not sure how much we care about PCH anymore, but won't this effectively
> disable PCH in C++20 and later due to
> 
>   /* C++ modules and PCH don't play together.  */
>   if (flag_modules)
>     return 2;
> 
> in c_common_valid_pch?

Is it known why those 3 lines were added there?

Is it just somebody who uses modules doesn't need PCH, modules obsolete PCH,
or some code in module.cc lacking GTY(()) markups needed for PCH
save/restore, something else?

If it is just a precaution, perhaps we should just remove it and add a few
tests, if it is known that some cases just don't work with PCH, perhaps
only return 2; if e.g. some module keywords (or anything related to it; or
whatever is known not to work with PCH) are seen in the PCH header rather
than just because -fmodules is on, that option doesn't imply one actually
uses modules, just that one could.

        Jakub

Reply via email to