[Gc] gc7 and 64-bit platforms

MenTaLguY mental at rydia.net
Tue Nov 16 12:56:42 PST 2004


On Tue, 16 Nov 2004, Peter Colson wrote:

> Really? The ANSI spec explicitly equates sizeof(size_t) to
> sizeof(void*). Interesting...

That was what I'd vaguely remembered.  Looking at the last draft of the
ISO spec, that does not appear to be the case.

All the draft spec requires, at least, is that size_t be the unsigned
result type of sizeof().  Admittedly, that is the draft spec.

> Just reconfirmed on my platform (OS/400 V5R3 using ILE/C with teraspace
> options enabled to give 8-byte pointers instead of tagged 16-byte
> pointers) and sizeof(void*) = 8 while sizeof(size_t) = 4. It's an
> unsigned int in stddef.h. This platform is LLP64 data model, not LP64.

What is sizeof(ptrdiff_t) (ptrdiff_t being defined by the draft
specification as a signed result of the subtraction of two pointers), out
of curiousity?

-mental


More information about the Gc mailing list