GCC Mainline is in Stage 3

Mark Mitchell mark@codesourcery.com
Mon Oct 20 23:00:00 GMT 2003


On Fri, 2003-10-17 at 09:44, Zack Weinberg wrote:
> Mark Mitchell <mark@codesourcery.com> writes:
> 
> > The GCC mainline is now in Stage 3.
> >
> > Stage 3 is our final stage before branching for a release.  No new
> > functionality should be introduced during this stage; only bug-fixes for
> > existing functionality should be added and approved.
> 
> There are a lot of patches for functionality that are floating around,
> having been submitted well before the deadline, but which have not yet
> been reviewed.  Are these excluded?

That's an excellent question, and I've been pondering it for a few days
now.

I think that it's very important that we take the Stage 3 idea (that new
patches should fix bugs, not add features) seriously.

If we don't, we know from experience that we will never stabilize.

As a community, we need to learn to do our chores (i.e., fixing
regressions).  

We're not very good at that; we're much better at adding new stuff.

On the other hand, I understand that people feel it's unfair if patches
that were submitted in time, but not reviewed, are skipped over.

We already have one exception that is pretty clearly carved out: adding
an entirely new port.  I think that changes to a specific back-end are
also more acceptable than (for example) changes to an optimizer.  When
the change is localized to a specific back end, it's pretty clear that
no other ports can be affected, and the back end maintainer can
understand the "whole picture" pretty well.  

Changing an optimizer can have unintended consequences for all ports,
and I claim that no GCC maintainer actually understands all of those
consequences at the time the change is made.  (For one thing, safety
analysis when making a change to the optimizers generally relies on the
assumption that the back ends have no bugs in their machine
descriptions, and that assumption is of course false.)

I think that the best thing is to handle things on something of a
case-by-case basis.  

I think that we should be a little more lenient here at the start of
stage 3 than further down the road.

I know that you want to get the XFmode IA64 patches checked in, and I
think that they should go in if you can get the bugs out on IA64
GNU/Linux.  That patch fixes actual bugs on IA64 HP-UX, such as the
incorrect alignment of some floating-point types; therefore, I think
this qualifies under Stage 3.  However, since this is CodeSourcery work,
I'm not unbiased, and if other maintainers object, you and I should
recuse ourselves from that discussion, with the exception of providing
technical information about the patch.

I think that as the Release Manager, I have to be proactive in watching
what's going in, and object if overly invasive patches are going in
during this stage.  I've probably not done that enough in the past.  I
hope that everyone else will help me; if invasive changes seem to be
going in during Stage 3, let me know!

Thanks,

-- 
Mark Mitchell <mark@codesourcery.com>
CodeSourcery, LLC



More information about the Gcc mailing list