Hi Ken.  I'm not surprised by the results above.  At all optimisation
levels, GCC knows the alignment of a variable and therefore knows the
value of the lower bits.  At -O0 'foo' works as this information isn't
propagated to the next line.  'thumb' fails as the value and alignment
are available right there in the expression.

-O2 is as expected.  'foo' is different as the value propagates to the
fp & 0x1L expression.

Note that the work-around of pushing the value through the getfp()
function works correctly.

GCC is still wrong though...

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/721531

Title:
  [armel] gcc computes wrong address for main() at build time

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to