https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106886

--- Comment #2 from David Binderman <dcb314 at hotmail dot com> ---
Reduced C code seems to be:

rl2GeomExport64_little_endian, rl2GeomExport64_little_endian_arch;
rl2GeomExport64(unsigned char *p, double value) {
  union {
    unsigned char byte[8];
    double double_value
  } convert;
  convert.double_value = value;
  if (rl2GeomExport64_little_endian_arch)
    if (rl2GeomExport64_little_endian) {
      *(p + 7) = convert.byte[0];
      *(p + 6) = convert.byte[1];
      *(p + 5) = convert.byte[2];
      *(p + 4) = convert.byte[3];
      *(p + 3) = convert.byte[4];
      *(p + 2) = convert.byte[5];
      *(p + 1) = convert.byte[6];
      *p = convert.byte[7];
    } else
      *p = convert.byte[7];
}

Reply via email to