https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79818
--- Comment #4 from Marc Glisse <glisse at gcc dot gnu.org> --- (In reply to Marc Glisse from comment #3) > We have ++c on signed char, which gcc turns into c=c+1, still on signed > char, where overflow is undefined behavior. The problem is long before the > transformation of the comparison. If ++c means c=(signed char)((int)c+1), it > should be lowered to that, or to an unsigned char addition. Oops, please ignore the above nonsense, I was looking at the -fwrapv dump thinking it was the other dump...