FWIW, this problem is caused by unified sources *and* precompiled headers.

> Unified sources allow you to get away without #including all the files you 
> need in a .cpp file, because some earlier file in the group has probably 
> already included them for you.
> This means that when you add a new file to the build, and the unified sources 
> get shuffled around, you end up with a long list of build breakages, some 
> platform-specific, that you can only fix by repeating EWS trials. Here's an 
> example: https://bugs.webkit.org/show_bug.cgi?id=189223. That patch added on 
> new file in Source/WebCore/rendering, which required unrelated #include 
> changes in at least:
> rendering/RenderBlockFlow.cpp:
> rendering/RenderFrame.cpp:
> rendering/RenderImage.cpp:
> How can we solve this? Should we have an EWS that builds non-unified? Can we 
> somehow have the style checker do #include enforcement?

I think the solution to eagerly fix unified vs non-unified missing #includes 
would be strictly more costly than the problem — since the problem is that you 
sometimes have to fix unified vs non-unified missing #includes.

webkit-dev mailing list

Reply via email to