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: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. The problem at hand is that gcc doesn't seem to give us any good way to tell whether size_t is based on 'int' or on '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] |