https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55217
--- Comment #4 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- (In reply to Michael Veksler from comment #2) > > This make no sense at all and significantly lowers the usability of > -Wstrict-overflow=3. Either VRP or constant-propagation must have realized > that > overflow is impossible, or does VRP come into play only after the warning is > emitted? Or maybe VRP can't do it because such reasoning requires induction? I don't have an answer to these questions, but probably you can find out using the -fdump-tree-all-all-lineno flag.