[PATCH 64bit] ssize_t

Schwarz, Konrad konrad.schwarz@siemens.com
Thu Feb 21 07:17:00 GMT 2013


> -----Original Message-----
> From: Eric Blake [mailto:eblake@redhat.com]
> 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.

On what platforms does

	# include <stddef.h>
	typedef ptrdiff_t ssize_t;

fail?

Thanks,

Konrad


More information about the Newlib mailing list