I am using Coverity Prevent on a project to find errors.
It reports an error for this expression (The variable names are of course changed):
x= (a
The statement x = ++x; writes to the variable x twice before hitting the sequence point and hence the behavior is undefined.
x = ++x;
x