This is the mail archive of the
mailing list for the GCC project.
Re: RFC - Next refactoring steps
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Mike Stump <mikestump at comcast dot net>
- Cc: Andrew MacLeod <amacleod at redhat dot com>, Diego Novillo <dnovillo at google dot com>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 6 Sep 2013 10:19:02 +0200
- Subject: Re: RFC - Next refactoring steps
- Authentication-results: sourceware.org; auth=none
- References: <20130809223645 dot GA22559 at google dot com> <48A1A20B-1DF2-45A5-9CB6-13CDC6A89A4F at comcast dot net> <cf6d07ba-b8bc-43c2-9f84-e7709ed7730e at email dot android dot com> <5214F775 dot 60702 at redhat dot com> <B962A2B6-233D-4B65-B4BF-CE1B20B0154B at comcast dot net> <52161471 dot 6040408 at redhat dot com> <CAD_=9DTQhKGQHn6KgGJg9bQN9_Ft5DaE3fKJr8OuaALhjQSy+g at mail dot gmail dot com> <CAFiYyc3Tc24A5LExuvOKH_poXqYyJ_GUE8-CbxK1cMnY2VPmUQ at mail dot gmail dot com> <52287FD3 dot 4040204 at redhat dot com> <CAFiYyc0yGMVohSBVdpboTMeFw229DW3ZFbg_rUqSSWUvu0zFqg at mail dot gmail dot com> <5228A7A7 dot 9070606 at redhat dot com> <CAFiYyc1YvbVeVUuE0KMwajJqP7f097XZzY6a8+U5A_ipQfmxSQ at mail dot gmail dot com> <2C884ACE-F1BA-4C49-B3B8-7207E1B8FB9B at comcast dot net>
On Fri, Sep 6, 2013 at 10:14 AM, Mike Stump <email@example.com> wrote:
> On Sep 5, 2013, at 11:54 PM, Richard Biener <firstname.lastname@example.org> wrote:
>> Most of the GCC headerfiles do not include all their required headers but
>> rely on .c files doing that (in the appropriate order). I somehow like
>> that though I cannot explain why ;)
> Very old school. I can explain why I don't like it, but I'll resist. The universal standard is for each header to include all it needs and for the ordering of includes not to matter any. Deviations from this are the exception and should virtually never should be the case.
>> Also grepping for #includes I see that this doesn't seem to be true anymore.
> Yeah, everyone else hates the old school style with a passion, it was never a good idea. :-) When they come across it, people have a tendency to fix the headers as broken and over time, all the dependencies eventually get added.
Well, I still think you cannot randomly change include file order in
GCC. At least some
hackery in some headers will suddenly break (that is, change outcome)
if you include for example
tm.h before or after it.
But yes, making all dependencies explicit puts #includes where they
belong and shows where
header refactoring would make sense. It also removes weird includes
from .c files that are
only necessary to make included required headers not break.