Harald Dunkel <[EMAIL PROTECTED]> writes: > Andrew Pinski wrote: >> Wrong, try again. Violating aliasing rules cause undefined behavior >> so seg faulting is an okay thing to do. > > But producing a warning message and bad code is not OK. Either > using a "type-punned pointer" should be treated as a fatal > error, because gcc would create bad code, or gcc should create > working code. > > If gcc knows that the code is bad, why does it continue?
It doesn't know that. The warning is for the *creation* of the type-punned pointer, which is still perfectly fine. Gcc is too stupid to notice whether you actually dereference it. -- Falk