<<undefined behavior: expression modifies `x' multiple times >> Of course it is also improper to write x + x++ and it would seem peculiar to say that this modifies x multiple times!