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