Daniel Berlin wrote:
> And you think that somehow defining it (which the definition people
> seem to favor would be to make it wrapping) ameliorates any of these
> concerns?

Yes, absolutely.  There is a difference between well-defined and
understood semantics on one hand, and undefined and probably dangerous
behaviour on the other hand.  It's the difference between security
audits of C software being hard and completely hopeless.

To be more precise, the LIA-1 definition is the one people have burned
deeply into their neurons.  It's the one that should be used by default.
 Sun cc does that, by the way.

> User parameters can't be trusted no matter whether signed overflow is
> defined  or not.

But what if the compiler subtly breaks your tests in ways you wouldn't
expect?

> Making it defined and wrapping doesn't help at all. It just means you
> write different checks, not less of them.

You have just seen somebody who can be considered an expert in matters
of writing C sofware come up with a check that looks correct, but is
broken under current gcc semantics.  That should make you think.

Andreas

Reply via email to