This is the mail archive of the
mailing list for the libstdc++ project.
Re: [patch libstdc++]: Fix LLP64 pointer-size issues for cxxabi, eh_alloc, and hash_bytes
2012/12/21 Paolo Carlini <email@example.com>:
> 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?
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.