I don't understand the question. It's not a problem on an 8-bit processor and could be a problem on a 32-bit processor. That makes it hardware-specific. Which is exactly what I said:
No. It's about what is allowed by the language standard and what decisions the compiler is allowed to make while following that standard. If you break your promise to the compiler that you'll follow the rules, then you can't expect the compiler to produce correct object code. That's the meaning of Undefined Behavior.
And, the Arduino Forum is probably not the place to get such an answer. You can probably find a forum more suitable for the discussion of such esoterica.