Skip to content
  • Raymond Toy's avatar
    Fix aliasing issue noted by gcc 4.4.1 on Linux. · e334b681
    Raymond Toy authored
    I think the offending code in each case is trying to extract the low
    word if x. I think it works because on a little-endian machine,
    *(unsigned*)&one is 0 since the low word is stored first. On a
    big-endian machine, *(unsigned*)&one is the high word which, when
    right shifted by 29, gives 1.  That is added to the address of x to
    get the low word of x.
    e334b681