On Mar 6 2013, Russell Brennan wrote:

Ouch.

This seems to be at odds with C's unions, where it is not allowed to do
type punning.

As of gcc 4.4.6, the description above seems to match the C behavior:

Er, no.  One simple test does not prove that it will always work; this
sort of thing is most likely to fail because it interacts in very nasty
ways with optimisation.  C99 introduced a horribly ill-defined concept
called "effective types", which specifically allows type-dependent optimisations. I have no idea whether gcc uses it at present, but it
might well do so in the future.

Regards,
Nick Maclaren.


Reply via email to