diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 1415aed531ee8a59d3f0bd45eb3416929c9bff53..60b6b9c70c528c89122a7e471f939e5c05d35238 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
+
+	* spew.c (space_for_token): Allocate zeroed memory for a new token
+	chunk.
+
 2002-07-27  Roger Sayle  <roger@eyesopen.com>
 
 	* decl.c (builtin_function_1): No need to explicitly mark
diff --git a/gcc/cp/spew.c b/gcc/cp/spew.c
index 2c34192db2fe8f74cfd820e5cb987af8c45d708f..27bc572b3da7ed5a222e3ed72a3d51102f3a605f 100644
--- a/gcc/cp/spew.c
+++ b/gcc/cp/spew.c
@@ -1023,7 +1023,7 @@ space_for_token (t)
   if (t->last_pos != TOKEN_CHUNK_SIZE)
     return t->last_chunk->toks + (t->last_pos++);
 
-  t->last_chunk->next = ggc_alloc (sizeof (*t->last_chunk->next));
+  t->last_chunk->next = ggc_alloc_cleared (sizeof (*t->last_chunk->next));
   t->last_chunk = t->last_chunk->next;
   t->last_chunk->next = NULL;