I'm reading an interesting article A Guide to Undefined Behavior in C and C++, Part 1 on undefined behavior in C and C++. Often I do the following in my code:
int i = 10;
i = (++i) % 7;
Does this produce undefined behavior? On x86? ARM? Perhaps it depends on the compiler?