How to type-pun and why

Gabriel Dos Reis gdr@cs.tamu.edu
Mon Jun 12 15:18:00 GMT 2006


 Mattias Engdegård <mattias@virtutech.se> writes:

| Using a union intermediate instead,
| 
|   union { double d; uint64_t x; } u;
|   u.d = something;
|   uint64_t x = u.x;
| 
| works as expected, but I would like to know why - if it is a matter of luck
| with the current implementation it might cease working when the compiler
| changes or becomes more aggressive in the future.

that union trick is invalid as well, from the standard point of view.
However, GCC makes a guarantee that it will be supported.



More information about the Gcc-help mailing list