Andrew Haley <[EMAIL PROTECTED]> writes:

> If we make a change for openssh to allow this undefined behaviour,
> then do we agree to keep it working or not?  If we agree that we will,
> then we have to at least add some test cases and we have to add some
> internal documentation to gcc.  If we don't agree to keep it working,
> then even if we fix it today it may well break in the future.

As I tried to clarify in a separate message, I don't think we agree to
keep it working.

> I don't think we're doing the developers of openssh any favours by
> compiling such code.  Quite the reverse, IMO.

This is, I suppose, the root of our disagreement.  I believe that the
people we hurt are not the developers, who presumably have enough
sense to fix their code after they see the warning (if they don't, I
don't care about them).  The people we are hurting are the users, who
discover that their existing third party code does not compile with
the new compiler.  Again, if we gained anything by not compiling their
code, then I would be all for it.  But in this case we do not gain
anything.  We're actually going to extra effort to break their code.

To me this is related to the point I raised at the steering committee
panel discussion (I know you weren't there): I think we are too casual
about breaking existing working code.

And, yes, the code may well break, or not work as expected in this
version of the compiler or in some later version.  After all, it is
undefined.  But we warned them it might break.  That is all we need to
do.  We don't need to take the extra step to ensure that it definitely
does break.  I believe that is inappropriate.  (Although I could
imagine a gcc option -ftrap-on-undefined-behaviour, which some people
would certainly find useful).

Ian

Reply via email to