On Fri, 2006-11-10 at 23:05 -0800, Howard Chu wrote:
> Daniel Berlin wrote:
> >
> > We ask the TBAA analyzer "can a store to a short * touch i.
> > In this case, it says "no", because it's not legal.
> >
> If you know the code is not legal, why don't you abort the compilation 
> with an error code?

The code is legal but undefined at runtime.  There was a defect report
to the C standard about undefined code at runtime and rejecting that
code and the C standard committee decided it was not a defect.
http://std.dkuug.dk/JTC1/SC22/WG14/www/docs/dr_109.html

Here is the rational from that Defect report about not rejecting the
undefined behavior:
A conforming implementation must not fail to translate a strictly
conforming program simply because some possible execution of that
program would result in undefined behavior. Because foo might never be
called, the example given must be successfully translated by a
conforming implementation.

Thanks,
Andrew Pinski

Reply via email to