[patch] Flatten function.h take 2
Andrew MacLeod
amacleod@redhat.com
Mon Oct 6 22:01:00 GMT 2014
Ping... anyone want to take a look?
Andrew
On 09/29/2014 01:23 PM, Andrew MacLeod wrote:
> On 09/16/2014 05:23 PM, Andrew MacLeod wrote:
>> On 09/16/2014 05:12 PM, Joseph S. Myers wrote:
>>> On Tue, 16 Sep 2014, Andrew MacLeod wrote:
>>>
>>>> I did an include file reduction on all the language/*.[ch] and core
>>>> *.[ch]
>>>> files, but left the target files with the full complement of 7
>>>> includes that
>>>> function.h use to have. Its probably easier when this is all done
>>>> to fully
>>>> reduce the targets one at a time... there are so many nooks and
>>>> crannies I
>>>> figured I'd bust something right now if i tried to do all the
>>>> targets as well
>>>> :-)
>>> How did you determine what includes to remove? You appear to have
>>> removed
>>> tm.h includes from various files that do in fact use target macros;
>>> maybe
>>> they get it indirectly included by some other header, but I thought a
>>> principle of this flattening was to avoid relying on such indirect
>>> inclusions. Because of possible use of target macros in #ifdef
>>> conditionals, "compiles with the include removed" is not a sufficient
>>> condition for removing it.
>>>
>>> cfgrtl.c
>>> gimple-fold.c
>>> mode-switching.c
>>> tree-inline.c
>>> vmsdbgout.c
>>> fortran/f95-lang.c
>>> fortran/trans-decl.c
>>> objc/objc-act.c
>>>
>> Many of those files do in fact get numerous include files from
>> expr.h, which are likely to get put back in when expr.h is
>> flattened, but there is a risk as you point out.
>>
>> Perhaps I should proceed by simply moving the includes and removing
>> any duplicate includes, leaving the reduction for later date. There
>> is less chance of that causing issues. I did forget about the
>> discussion last year concerning target macros from the RTL end of
>> things... My mind is slowly going :-).
>>
>>
> OK, here's take 2.. I left all the include files except ones which
> were duplicated as a result of the flattening. The first one was left,
> and any subsequent #Includes of the files were removed. we'll address
> "unneeded" includes separately and all at once.. perhaps with a newer
> tool that has been taught about input and output dependencies
>
> Bootstrapepd on x86_64-unknown-linux-gnu with no new regressions.
> Currently config-list.mk is building, but Im not expecting any issues
> there. assuming all is oK, ok to check in?
>
> Andrew
>
> PS.. the original commentary:
>
> This flattens function.h. It wasn't too bad, there were a few
> prototypes and defines in expr.h and rtl.h that belong in function.h,
> and a couple of other prototypes that belonged in other .h files. A
> bunch of the gen*.c generated files actually use function.h.. so they
> needed some tweaking.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: function.patch.gz
Type: application/gzip
Size: 14835 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20141006/d959df66/attachment.gz>
More information about the Gcc-patches
mailing list