summaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2007-07-03 15:29:19 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2007-07-03 15:29:19 +0000
commitd41d7362a69ae0df5260b8c7165474b1cc4e2d72 (patch)
tree99dc19d6f7b8cb68004e7d0a8d2c67758122924b /gcc/cp
parent9a6e938f716d9f979fd79c907a6dbbdf2b858f65 (diff)
downloadgcc-d41d7362a69ae0df5260b8c7165474b1cc4e2d72.tar.gz
2007-07-03 Richard Guenther <rguenther@suse.de>
PR c++/32609 * class.c (fixed_type_or_null): Re-lookup the hashtable slot after recursing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126262 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/class.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 27f6dc5f1b3..059631f2e3e 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2007-07-03 Richard Guenther <rguenther@suse.de>
+
+ PR c++/32609
+ * class.c (fixed_type_or_null): Re-lookup the hashtable slot
+ after recursing.
+
2007-07-02 Simon Baldwin <simonb@google.com>
* parser.c (cp_parser_elaborated_type_specifier): Added a warning
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index 67cf63db1bd..f2ccd5bd8b4 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -5377,7 +5377,7 @@ fixed_type_or_null (tree instance, int *nonnull, int *cdtorp)
slot = htab_find_slot (ht, instance, INSERT);
*slot = instance;
type = RECUR (DECL_INITIAL (instance));
- htab_clear_slot (ht, slot);
+ htab_remove_elt (ht, instance);
return type;
}