Hi,

On Sat, 30 Apr 2005, Kriang Lerdsuwanakij wrote:

> Sure, this code compiles with 4.1 and 3.4 but doesn't compile with 4.0.
> Although the code is valid, I'd bet it doesn't work the way the
> programmer of the above code (or other 99% who doesn't track
> the standard closely) would expect.

Note that this was a reduced testcase from the original file.  I optimized 
only for triggering the non-compilation, not for preserving the authors 
initial intent.  For instance it may very well be possible that this 
friend declaration was not necessary at all, and only put there by the 
author because of confusion or it was initially needed, then later this 
need was removed, but the friend decl was forgotten.

So, the basic facts which interest me for the purpose of this discussion 
are:
  1) the program in its original form can be compiled with 3.3 and 3.4
     _and_ worked there (for whatever reasons it worked)
  2) does not compile with 4.0
  3) does compile with 4.1 (and presumably also works)

What I would find ideal under these circumstances is that the patch which 
made it work in 4.1, _if it's not too intrusive_, be included in 4.0, even 
if it doesn't fix a regression in the strict sense.  If you will, I want 
the bar lowered for regressions to also include (case by case) being able 
to compile code which was incorrectly compiled before, is now not compiled 
at all, and for which a fix exists in 4.1.

Basically I don't want defects in 3.x compilers to prevent backporting of 
bugfixes from 4.1 to 4.0, if possible.


Ciao,
Michael.

Reply via email to