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.

Reply via email to