https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102440
--- Comment #7 from Segher Boessenkool <segher at gcc dot gnu.org> --- The documentation for UInteger also says Positive values of the argument in excess of @code{INT_MAX} wrap around zero. so C "unsigned" types are natural for it.