This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch 1/5] Move input.h and is-a.h to coretypes.h


On Wed, Jun 17, 2015 at 3:06 PM, Andrew MacLeod <amacleod@redhat.com> wrote:
> On 06/17/2015 08:28 AM, Richard Biener wrote:
>>
>> On Tue, Jun 16, 2015 at 7:16 PM, Andrew MacLeod <amacleod@redhat.com>
>> wrote:
>>>
>>> Pretty much everything in the compiler has a need for both is-a.h and
>>> input.h, so this patch moves those into coretypes.h (and rtl.h for
>>> generators.. :-P  still working on a good way around that)
>>>
>>> is-a.h is required by anything which includes gimple.h, rtl.h or cgraph.h
>>> currently, and I expect its use to grow if anything.
>>> input.h includes line-map.h and provides location_t whose use is
>>> ubiquitous
>>> throughout the compiler. tree-core.h, rtl.h, gimple.h, function.h all
>>> require its definition for instance.  There are some files where input.h
>>> is
>>> included indirectly up to 7 times :-P
>>>
>>> I think those are the last two which I'd currently propose go into
>>> coretypes.h.   This patch puts them there, and removes all the other
>>> places
>>> in the compiler that include them directly, allowing them to come only
>>> from
>>> coretypes.h.   The patch is big, but almost all mechanical. the first 2
>>> files in the patch are coretypes.h and rtl.h so you don't have to paw
>>> around
>>> for them.
>>>
>>> Bootstraps on x86_64-unknown-linux-gnu with no new regressions, and
>>> compiles
>>> the targets in config-list.mk.
>>>
>>> OK for trunk?
>>
>> Index: hwint.c
>> ===================================================================
>> *** hwint.c     (revision 224345)
>> --- hwint.c     (working copy)
>> *************** along with GCC; see the file COPYING3.
>> *** 19,24 ****
>> --- 19,25 ----
>>
>>    #include "config.h"
>>    #include "system.h"
>> + #include "input.h"
>>
>> generally all files should instead include coretypes.h after system.h
>>
>> Index: vec.c
>> ===================================================================
>> *** vec.c       (revision 224345)
>> --- vec.c       (working copy)
>> *************** along with GCC; see the file COPYING3.
>> *** 29,36 ****
>> ...
>>
>>    #include "system.h"
>>    #include "coretypes.h"
>>    #include "hash-table.h"
>> + #include "input.h"
>> + #include "diagnostic-core.h"
>>
>> I'm sure input.h is not needed here.
>>
>>
> Ah, both files fell into the same trap.  Both included diagnostic-core.h,
> and both were also used by generator files, so they wouldn't get input.h
> from coretypes.h.
>
> Turns out neither file actually requires diagnostic-core.h, so I can remove
> that include from both files, and that removes the need for input.h when
> they are generators...
> so include coretypes.h in hwint.c, and remove both input.h and
> diagnostic-core.h from vec.c.

Sounds good to me.

Richard.

> Thanks
> Andrew


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]