https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117833
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Wonder what changed, the code hasn't been touched in 4 years. My bootstrap with go last night worked fine and even with current trunk I can't reproduce. Perhaps special_char_code.code_for(c) got inlined and ranger saw that c isn't VARYING? Anyway, the compiler most likely doesn't know that len == 1 implies c <= 255U and that thus buffer[8]; is enough (even buffer[5]) could be. And if len == 1 didn't imply anything on the range of c, it could print up to 4294967295 and thus need 13 characters.