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: What is a regression?


On Tue, 2007-10-23 at 00:00 -0400, Jason Merrill wrote:
> skaller wrote:
> > But Jason, the compiler worked properly in rejecting invalid syntax.
> > Now you're suggesting it fails to do so.  This suggests a real regression
> > and a real bug: the new feature should have an enabling flag
> > that couldn't have been set before it was implemented, and without
> > that flag should create the same error in the current version.
> 
> The current version gives an error "ISO C++ does not include variadic 
> templates" unless you enable C++0x mode.  And then crashes.

I see. So this is unpleasant, but technically it has met the
ISO conformance requirements in issuing the diagnostic.
A quick fix would be to abort() the compiler to prevent the ICE
in released versions (but developers would test with the abort
commented out whilst trying to get the implementation working).

> But in any case, nobody has code that relies on getting an error from a 
> previous version of the compiler that would be broken by moving to 4.3. 

Well it seems you're right given that 4.3 DOES issue a diagnostic,
so I guess I'd agree with you now given that data.

>   Only regressions on valid code seem serious enough to me to warrant 
> blocking a release.

I still think that is too strong a position. A good fraction
of compiler time is spent bugging out user code.. one could
even say the job of a compiler is not generating machine code,
but telling programmers they're idiots :)

Still, if you were to use "ISO C++ conformance model" as the
criteria, you could probably weaken your position and still
reduce the number of blocking "regressions": an ICE in the
case of experimental code could be allowed PROVIDED there
is a diagnostic WHEN one is actually required.

In fact, that may be TOO weak: people do rely on QOI diagnostics
beyond those required by ISO.

> > BTW: did WG21 already pass this proposal?
> 
> Yes, a few meetings back.

Not my preferred model but better than nothing.

-- 
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net


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