Honestly, this looks like a difference in how the respective compilers try to optimize code. I don't think this has to do so much with the order that the pieces are interpreted as much as the compiler trying to save some bytes of memory.
Think about it this way. WHY would the compiler think both 'n' vars were the same? The only answer is that it seems the compiler saw the first ++n, then the second and said "instead of putting this in its own register, lets save a little and use the same one".
Perhaps some optimization to minimize memory footprint is turned on in one compiler but not the other?
Think about it this way. WHY would the compiler think both 'n' vars were the same? The only answer is that it seems the compiler saw the first ++n, then the second and said "instead of putting this in its own register, lets save a little and use the same one".
Perhaps some optimization to minimize memory footprint is turned on in one compiler but not the other?