This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
On 02/20/2013 09:56 AM, Corinna Vinschen wrote: > On Feb 20 09:36, Eric Blake wrote: >> On 02/20/2013 09:30 AM, Schwarz, Konrad wrote: >> >>>>>> GCC requires exact symmetry of types between ssize_t and size_t. >>>>>> I.e. checking for sizes of types is not sufficient for [s]size_t. >> >>> >>> Pardon me, but would an approach similar to the following work? >>> >>> # include <limits.h> >>> >>> typedef int >>> # if USHRT_MAX == __SIZE_MAX__ >>> short >>> # elif UINT_MAX == __SIZE_MAX__ >> >> No, because when size_t and long are 4 bytes, UINT_MAX == LONG_MAX, but >> that's a case where we want ssize_t to be long, not int. > > Do we really? I thought that int is preferred if int == long. I guess it boils down to: can we guarantee that if 'int', 'long', and 'size_t' are all the same size, then 'size_t' was based on 'int' instead of 'long'? -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |