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. > >