------- Comment #3 from pinskia at gcc dot gnu dot org 2009-04-12 20:01 ------- More to the point:
double d = 0.0; /* Reasons the issue. */
((U*)&d)->iv[1] = b[1];
((U*)&d)->iv[0] = b[0];
You are accessing a double as an int which violates C/C++ aliasing rules.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|critical |normal
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39745
