Paul Schlie wrote:
tools which indiscriminately alter non-portable observable behavior during optimization aren't doing anyone any favors.
What we want from a compiler is that it correctly executes and interprets correct programs. What we want from programmers is correct programs. Programmers who write undefined junk get undefined behavior. We have been through this before (with you if I remember), and we won't get any further this time than we did last time. Uninitialized variables cause undefined behavior. This means the behavior of the program can change every time you run it (whether or not you change optimization settings).