Modify obstack.[hc] to avoid having to include other gnulib files
[deliverable/binutils-gdb.git] / libiberty / hashtab.c
index a2fe3ee3bddbff6745024ea3b01df707744574ba..04607ea6a0167bb2c48a7ac847bc5ac968b3a783 100644 (file)
@@ -990,17 +990,8 @@ hash_pointer (const PTR p)
   unsigned a, b, c;
 
   a = b = 0x9e3779b9;
-  if (sizeof (intptr_t) == 4) 
-    {
-      /* Mix as 16bit for now */
-      a += v >> 16;
-      b += v & 0xffff;
-    }
-  else
-    {
-      a += v >> 32;
-      b += v & 0xffffffff;
-    }
+  a += v >> (sizeof (intptr_t) * CHAR_BIT / 2);
+  b += v & (((intptr_t) 1 << (sizeof (intptr_t) * CHAR_BIT / 2)) - 1);
   c = 0x42135234;
   mix (a, b, c);
   return c;
This page took 0.03111 seconds and 4 git commands to generate.