This is the mail archive of the gcc@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: GCC 4.1 Projects


>>Nathanael Nerode wrote: 

It's in now, BTW.  Nothing broke.  :-)  (As I notified when I submitted the
patch as an FYI prior to stage 1 opening, this was checked with a native
bootstrap *and* a cross build.)

>>The libada-gnattools-branch suffers severely from having to be maintained
>>in parallel with mainline (since it's a rearrangment of existing code).
>>Another two months of waiting will necessitate many hours of totally
>>unneccessary work on my part.
>
>The same is true for everyone who has to wait to check in a patch.
No, it isn't.

This patch consisted of large code relocation and rearrangement with few
semantic changes.  This means that whenever logic changes are made on mainline,
I have to manually port them over to the relocated code.  It contains a new
directory and relocated/split files, which would be easy enough to maintain
on a branch under SVN, but under CVS, *SUCKS BIG TIME*.

I have been maintaining this essentially ready since sometime early in stage
2 for 4.0.  I was delayed by tree-ssa breakage in Ada bootstrap, making it
impossible to test my changes fully until sometime in stage 3, by which time
it was unsuitable.

>If it breaks bootstrap, it will definitely interfere.
It *can't* break non-Ada bootstrap (which is, BTW, still the default),
unless the commit was screwed up or incomplete.  It is fully tested for Ada
bootstrap, plus I'm committed to fixing any breakage.

>If it causes patch conflicts with other changes it will also interfere.
It can only cause conflicts with Ada changes, none of which are scheduled
for stage 1.  And it's actually quite unlikely that it will cause those.
If it does, I certainly intend to resolve the conflicts in any such Ada
patches; the changes are mostly code relocation, so patch adaptation should
be easy.

>And if it doesn't cause any patch conflicts, then it probably won't be
>very hard to maintain on a branch.

Except that it *was*.  I had to maintain five sets of ChangeLog entries
and a new directory.  Merges from trunk took ridiculous time, since I was
pulling in vastly larger changes from mainline than the entire set of changes
on the branch.  But most importantly, I had to watch every change to libada
and gcc/ada/Makefile.in to see if it happened to be in one of the sections
of code which was being moved to a different file, so that I could copy the
change over.  :-P  (Again, most of this would be relatively easy to handle,
being mostly automatic, under SVN, but it's hours and hours under CVS.)

In addition, all further progress in this direction was stalled.  Problems
which can be remedied relatively easily now were causing lots of discussion
and progressively more kludgy patches were showing up.

Getting this in now makes it substantially more likely that I'll be able to
finish additional improvements to the build system (for Ada and for other
projects) to commit in stage 2.  Otherwise, I'd be spending all my time
just keeping this patch applying cleanly and correctly, without doing any
changes at all.

--
Finally, let me quote the development plan: 

"Although maintaining a development branch, including merging new changes from
the mainline, is somewhat burdensome, the absolute worst case is that such a
branch will have to be maintained for four months."

I have already maintained this patchset essentially unchanged for four months,
without complaining at all.  Two more months is not acceptable.

--
This space intentionally left blank.


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