Revised release criteria for GCC 4.0
Mark Mitchell
mark@codesourcery.com
Tue Dec 14 00:04:00 GMT 2004
Benjamin Kosnik wrote:
> hi mark. thanks for the update.
>
> i must say, the clarification is really nice, but puzzling.
> 1) platform support
> any chance you could elaborate on the rationale used
> to pick the primary platforms? the decision is cool, but the process
> behind it would be nice to understand.
It's a combination of factors. Yes, some aspects are historical. One
reason to include some systems is the "canary" aspect of some systems;
for example, including systems without weak symbols helps to smoke out
issues with templates. We'd all love for all systems to become more
SVR4-ish, but the SC feels that it's important to retain support for a
relatively wide variety of systems for the forseeable future. We wanted
to continue to support the same major processor families as in previous
releases, with the exception of Alpha, which has been EOL'd.
> 2) complete dropping of code quality, applications
> WTF?? Why drop the glibc and kernel baselines?? I think these have
> helped in the past to keep initial releases from being of the
> brown-paper bag variety.
We're not dropping code quality as a criterion, we're simply treatig
code quality regressions as a regression like any other.
As for kernel/application baselines, how many releases have I done where
(a) I had that baseline data to examine, and (b) the results were good?
Zero.
Instead, we're taking the point of view that, realistically, we're not
going to have that data, but that, fortunately, many people use
prerelease versions of GCC to test their stuff with, and bugs get
reported, and so we'll get much of the same information in the form of
bug reports.
> 3) drop compile time performance as a factor.
Likewise, compile-time performance regressions are regressions, and
therefore legitimate issues.
But, I'd be unlikely to hold up an otherwise functional release because
of some compile-time regressions on some inputs. (I think that's true
of most software, other than extremely performance-oriented software;
for example, I doubt Microsoft would hold up a release of Word because
it was 15% slower in repaginating certain long documents.)
Partly, that's because this isn't something that's easy to fix right
before a release. If you want to fix it, you have to deal with it
during the earlier development stages, when there's more flux. It would
be a bad decision to (say) substantially reorganize a tree data
structure to save space in the week before a release. However, adding a
few lines of code to check for error_mark_node, or to deal with an
obscure argument-passing problem, is quite reasonable.
--
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com
(916) 791-8304
More information about the Gcc
mailing list