http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57693
--- Comment #2 from Vladimir <vlad94009277 at gmail dot com> --- (In reply to Andrew Pinski from comment #1) > Both: > b += b++; > And > d += d++; > > are undefined what value b and d is going to be as there are no sequence > point intbetween the two assignments. > > They could be: > temp = b; > b++; > b += temp; > > or b++; > b+=b; I tried this issue on version 4.8.1 and it works successfully. It seems the bug was already fixed.