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.