close 491653
thanks

Hi Bastian,

You're right again, this is entirely due to the effects of strict aliasing rules. The problem goes away with -fno-strict-aliasing.

Nick

Bastian Blank wrote:
On Sun, Jul 20, 2008 at 11:14:10PM -0700, Nick Lewycky wrote:
This testcase produces different output depending on whether -O1 or -O2 is
specified.

The testcase is wrong. Please produce a _minimal_ variant, it even shows
the same behaviour without bitfields.

Please explain what exactly the following is suposed to do:
| *(1+(uint64_t *) &x)

x includes no unit64_t at this address, but bitfields, a different type.
So this is an aliasing violation.

Bastian





--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to