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]

Re: type based aliasing again


    Ah, but you're not thinking of this like a user.  As a user, it
    _would_ be a feature, and they would expect it.

I've seen several people have made this claim, but they took
it for granted, rather than trying to justify the claim.
I don't believe it, and here is an argument for why not.

If you believe that the mere fact that some cases "work as expected"
will have this effect, even if we say nothing about it to the users,
then this is happening now.  Maybe half of these cases work as expected
with -O1, and all of them work with -O0.

The only way to prevent this is to implement -fconfound-me.

      Review the Linux thread as to why a user would consider this a
    feature.

If you tell me precisely where to find these messages, I will read
them.  I can barely make the time to have this discussion, and I will
make time to read the messages, but I can't make time to *find* the
messages as well.


You are arguing for a position that rejects the very idea of making an
effort to keep old code working.  Your arguments support a general
conclusion that "If code is not unambiguously valid, it is better to
break the code than to keep it working."

This is not just a harsh policy, it is an explicit policy of being
harsh.  That is, it says, "Be harsh!  Choose the alternative that is
harsh!"  This is the opposite of the way we should treat our users.

I understand that your views are not based on sadism or cruelty; you
think that treating users harshly is better for them.  But your
motivation, like my motivation, is not the issue anyway.  To adopt a
policy of harshness towards people--no matter what justification is
offered for it--is treating them badly.  That is the wrong way to
treat the users.  We must not make GCC decisions based on a policy of
harshness.

I would like future GCC decisions to be based on the policy that
keeping old code working is a good thing to do, when it is practical
of course.

So if any argument leads to the conclusion that one should be harsh to
the users, please recognize where the argument is taking you, and
reject it on the grounds that it is a disguised policy of harshness.

In particular, if it is argued that a policy of kindness has a
disadvantage, and it turns out that the disadvantage is a consequence
of the fact that the users have been treated kindly, it is really a
disguised policy of harshness.






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