>>>>> "Gabriel" == Gabriel Dos Reis <[EMAIL PROTECTED]> writes:

> Robert Dewar <[EMAIL PROTECTED]> writes:
>
> Gabriel Dos Reis wrote:
>> Robert Dewar <[EMAIL PROTECTED]> writes:
>> >"has the semantics that Gabriel Dos Reis wants" is not an evaluable
>> >predicate!
>> You completely missed the point, but I guess it is consistent with
>> your denying that there is any connection between C or C++ and
>> hardware.
>
> So, let's make this MUCH more specific. Gabriel, on the MIPS chip,
> do you think there is something in the definition of C that leads
> you to prefer wrap around semantics to trapping semantics?

 Gabriel> When it comes down for the compiler writer to chose
 Gabriel> something for undefined behaviour, it is hardly solely based
 Gabriel> on the C standard.  In fact, the C standard is of much less
 Gabriel> help because it gaves up. 

That's my reaction as well.  The standard says "do something".  The
compiler has to pick a "something".

If the choice is between trapping and wrap for MIPS arithmetic, I'd
choose wrap without a question.  The reason: my expectation is that,
in each place where the situation arises in the code created in our
team, wrap is the better answer.  Ideally the issue should not arise
-- if it's expected in the code, unsigned variables should be used or
the condition should be tested for explicitly.  But if that's missed,
I believe that wrapping will produce the "that's what I meant"
outcome, while an overflow trap will cause the system to malfunction
at the customer site.

   paul

Reply via email to