https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90377
--- Comment #3 from Marc Glisse <glisse at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #2) > Most likely used creduce to reduce the failure. creduce didn't use to produce such awful code. Part is because of -fpermissive, but part seems to be because the reducer (creduce?) did a bad job (reusing the same name for several things, missing simplifications). Anyway, we end up with something like: if(n!=0)memset(p,n,) where p points after the end, and the argument of memset is always non-0, but quite artificially so. Arguably, ldist could have produced just memset(p,n,) without the condition, and we wouldn't have the bad warning.