------- 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