https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79929
--- Comment #25 from Marc Glisse <glisse at gcc dot gnu.org> --- (In reply to Dominique d'Humieres from comment #24) > The following variant does not give the warning That's because the code has become obfuscated enough that we don't have the simplification l-(l+5) anymore (we see l-max(0,l+5) instead) and the argument to the dead memset call is not seen as a constant. But the dead code is still there, even if we don't warn.