[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: more compilation failures: -DSCM_DEBUG_TYPING_STRICTNESS=2
From: |
Ludovic Courtès |
Subject: |
Re: more compilation failures: -DSCM_DEBUG_TYPING_STRICTNESS=2 |
Date: |
Thu, 03 Sep 2009 13:48:02 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Hi!
Ken Raeburn <address@hidden> writes:
> On Sep 2, 2009, at 04:08, Ludovic Courtès wrote:
>>> In the Guile case, I'm a tiny bit concerned about some of the
>>> pointer/
>>> int games played (e.g., I'm pretty sure C99 does not guarantee that
>>> you can convert an arbitrary uintptr_t value to pointer and back and
>>> be guaranteed of getting the original value... but I don't know of a
>>> platform that actually violates that assumption), but only a tiny
>>> bit.
>>
>> Really? I think the whole purpose of `uintptr_t' is to allow that,
>> isn't it?
>
> It's the other way around that's guaranteed to work: void* ->
> (u)intptr_t -> void*. So any value originally derived from a valid
> pointer will work, but arbitrary values may not.
[...]
Hmm, I see. Thanks for the interesting explanation!
Now I understand that I've been lucky enough to live in a beautiful
world with power-of-two pointer types, NULL == 0, etc. ;-)
Thanks,
Ludo'.