2012/12/21 Paolo Carlini <paolo.carl...@oracle.com>:
> Hi,
>
>
> On 12/21/2012 10:16 AM, Kai Tietz wrote:
>>
>> Well, I thought it is always present for gcc due gstdint.h header,
>
> As far as I know, that project isn't finished yet, there are still targets
> which neither provide the header, neither GCC synthetizes it. See also
> "dg-require-effective-target stdint_types".
>
>> but well, using ptrdiff_t here instead would be ok too IMHO, and later is
>> compatible to none C99-systems. Ok, with that change (and remove of later
>> cast to ptrdiff_t for it)?
>
> Are we 100% sure that, besides the targets we know well and love, elsewhere
> long is always == ptrdiff_t?
>
> Paolo.

well, issue isn't that 'long' is always 'ptrdiff_t'.  As this is
indeed the wrong assumption here.  As we treat here pointers later-one
as pointer-diff, it doesn't make any difference, even if pointer-size
might exceed 'ptrdiff_t' (well size_t would have here the same issue,
and all in all we lack a longptr_t type-definition in standard), then
we still don't change behavior AFAICS.

Kai

Reply via email to