Because the function also increments the push->cur pointer, it's a
subtle but real difference:

gcc-4.7:

u32 ret = func(); // May change push->cur ptr
*push->cur = ret;
push->cur++;

gcc-4.8:
u32 *ptr = push->cur;
push->cur++;

*ptr = func(); // Already sees the push->cur ptr


I'm not a language expert, so no idea if I'm right, but it seems the updated 
gcc-4.8 behavior is wrong here.

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

Title:
  Libdrm compiled with gcc 4.8 makes card hang on resume from s2disk

To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc/+bug/1247607/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~ubuntu-x-swat
Post to     : ubuntu-x-swat@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ubuntu-x-swat
More help   : https://help.launchpad.net/ListHelp

Reply via email to