https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91761
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|FIXED |INVALID --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- > 1) It doesn't remove these assignments, instead it assigns to 0. Same thing in reality ... > 2) No any warning pointing to the unusable assignment. There is no way for GCC to do that really. -fsanitize=address -fsanitize=undefined might be able to detect this at runtime; I have not checked. > 3) No backward compatibility: worked code now stopped to run. The code worked on accident. The code was undefined before and after the change. It just happened to work.