https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109979
--- Comment #5 from Vincent Lefèvre <vincent-gcc at vinc17 dot net> --- (In reply to Andrew Pinski from comment #1) > The warning should happen for both ... OK (as the documentation says "[...] that might overflow the destination buffer). (In reply to Richard Biener from comment #4) > If you know the value is in a range that fits s[4] then assert that before > the prints. I don't think that an assert() will change anything. With MPFR, the code is in an "else" branch, already with a reduced range. However, this time, I did not use -O2 to enable VRP (I was working on a different issue, but had to use -Werror=format to change the behavior of the configure script); that was my mistake. Then I found the inconsistency between "e" and "e - 1", so I did not look further.