On Fri, May 30, 2008 at 10:57 AM, Kai Tietz <[EMAIL PROTECTED]> wrote:
> Hi,
>
> as I noticed, most hash value calculations are trying to use pointer
> values for building the value and assume that a long/unsigned long scalar
> is wide enough for a pointer. This is at least for w64 target not true. So
> I want to know, if it would be good to introduce an gcc specific type for
> those kind of casts, or to use ssize_t/size_t.?

it's uintptr_t which should be used, if only as an intermediate cast -
(unsigned long)(uintptr_t)ptr.
The effect of not including the upper half of the pointer shouldn't reduce
the quality of the hash too much.

Richard.

> Regards,
>  Kai
>
> Btw: I noticed that while trying to debug the native w64 compiler, which
> always crashes in c-common.c:6748 in field_decl_cmp (a cross-compiler
> version does not crash?!).
>
> |  (\_/)  This is Bunny. Copy and paste Bunny
> | (='.'=) into your signature to help him gain
> | (")_(") world domination.
>
>

Reply via email to