http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47552
--- Comment #8 from Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> 2011-03-15 15:36:16 UTC --- (In reply to comment #7) > - Yes, Fortran itself does not have unsigned integers, but the string length > type is invisible to Fortran programs. The LEN intrinsic does return the > string > length typecast to a signed integer kind depending on the optional KIND > argument, or to a default kind integer. My point is just that, if you're merely changing the size of the variable, you are less likely to unearth new bugs than if you change both that and signedness. Plus, as you say, the difference between SIZE_MAX and SSIZE_MAX is a corner case, and maybe a huge size_t value isn't usable in common code. Finally, you'd loose some compatibility with what used to be done > Also, consider that at the asm level, typecasting from an unsigned to a > signed value of the same size is a no-op, so there is no efficiency loss. And casts from signed to unsigned, with checks for positivity, when string lengths are passed as function arguments.