diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2b324f0505f045bed5a2b01ba1ceede75e0a6cfa..b02f173dc84214c77ad9a9ff311642ccfa6be7a9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2000-03-15  Jason Merrill  <jason@casey.cygnus.com>
+
+	* cpphash.c (dump_hash_helper): Take the slot, not the element.
+
 Wed Mar 15 14:28:54 2000  Jason Eckhardt  <jle@cygnus.com>
 
 	* flow.c (verify_flow_info): Check for unconditional return.
@@ -37,11 +41,13 @@ Wed Mar 15 13:07:05 MET 2000  Jan Hubicka  <jh@suse.cz>
 	QUAL_UNION_TYPE handling.
 
 Wed Feb 23 13:00:06 CET 2000  Jan Hubicka  <jh@suse.cz>
+
         * flow.c (fixup_reorder_chain): Avoid double labels in the basic block;
         end of basic block is jump_insn, not barrier; use create_basic_block
         instead of creating basic block by hand.
 
 2000-03-14  Jason Eckhardt  <jle@cygnus.com>
+
 	* flow.c (reorder_basic_blocks): Account for barriers when writing
 	over NEXT_INSN (last_bb->end).
 	(verify_flow_info): Add check for missing barriers.
diff --git a/gcc/cpphash.c b/gcc/cpphash.c
index 7fe58d98516ff3f8754fed35b02dbf4130ae711f..236a94273fa170a84dead953ad28dd50711d6092 100644
--- a/gcc/cpphash.c
+++ b/gcc/cpphash.c
@@ -33,7 +33,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 static unsigned int hash_HASHNODE PARAMS ((const void *));
 static int eq_HASHNODE		  PARAMS ((const void *, const void *));
 static void del_HASHNODE	  PARAMS ((void *));
-static int dump_hash_helper	  PARAMS ((void *, void *));
+static int dump_hash_helper	  PARAMS ((void **, void *));
 
 static int comp_def_part	 PARAMS ((int, U_CHAR *, int, U_CHAR *,
 					  int, int));
@@ -1722,10 +1722,10 @@ _cpp_dump_definition (pfile, sym, len, defn)
 /* Dump out the hash table.  */
 static int
 dump_hash_helper (h, p)
-     void *h;
+     void **h;
      void *p;
 {
-  HASHNODE *hp = (HASHNODE *)h;
+  HASHNODE *hp = (HASHNODE *)*h;
   cpp_reader *pfile = (cpp_reader *)p;
 
   if (hp->type == T_MACRO)