https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107641
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org Last reconfirmed| |2022-11-11 Status|UNCONFIRMED |ASSIGNED --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 53885 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53885&action=edit gcc13-pr107641.patch Untested fix. Using unsigned for upper is also quite suspicious, because the code then does if (upper <= UCHAR_MAX) something; else if (upper <= UINT_MAX) something else; else something different; but if upper is unsigned, then upper <= UINT_MAX is always true.