https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64491
--- Comment #8 from Andrew Stubbs <ams at gcc dot gnu.org> --- Just silencing the warning may not be enough. The compiler may optimize away loop exit conditions based on this analysis. The warning mirrors the logic rather than shares it (due to the way the logic is distributed) so this may not actually be a problem, in this case, but I'd have to look closer.