Re: [PATCH] C undefined behavior fix

jtv
2002-01-03T17:14:19Z

On Thu, Jan 03, 2002 at 04:46:11PM +0100, Edgar Toernig wrote:
>
> The behaviour is undefined by the C standard. But the mentioned
> pointer arithmetic is defined in the environment where it has been
> used. GCC tries to optimize undefined C-standard behaviour. And
> IMHO that's the point. It may optimize defined behaviour and should
> not touch things undefined by the standard.

Ah, if only things were that easy! The whole reason the rules are as they
are in C is that it is not generally decidable whether or not the code
falls within those rules. Removing the assumptions we're talking about
from the rules would make the ability to optimize code an exception instead
of the rule.

Jeroen