I am testing the following patch to fix a typo(?) in the hash
function for location ad-hoc data.  The current hash function
causes 1000 collisions for each search when building tramp3d.

Bootstrap and regtest running on x86_64-unknown-linux-gnu.

Richard.

2012-09-25  Richard Guenther  <rguent...@suse.de>

        PR middle-end/54704
        * line-map.c (location_adhoc_data_hash): Fix.

Index: libcpp/line-map.c
===================================================================
--- libcpp/line-map.c   (revision 191706)
+++ libcpp/line-map.c   (working copy)
@@ -58,7 +58,7 @@ location_adhoc_data_hash (const void *l)
 {
   const struct location_adhoc_data *lb =
       (const struct location_adhoc_data *) l;
-  return (hashval_t) lb->locus + (size_t) &lb->data;
+  return (hashval_t) lb->locus + (size_t) lb->data;
 }
 
 /* Compare function for location_adhoc_data hashtable.  */

Reply via email to