[EMAIL PROTECTED] wrote: > I appreciate that this is quite valid according to the ANSI C > standard and the team are within their rights to change this, > but I am curious to know the reasoning behind the change which > seems to me to make the object code less optimal.
It is not a deliberate change. GCC 4.0 feature more than 40 new optimization passes, which rearrange and optimize your code in different ways. They all know that they can freely change the order of evaluation of operands within sequence points, so it's totally casual what the order ends up to be. As for the code being less or more optimal, this is a totally orthogonal issue. I suggest you inspect the assembly code to see if there is really a pessimization. In this case, feel free to file a bugreport in Bugzilla about it. -- Giovanni Bajo