From e656a4656e61366599bce12256e22b019e3cd65b Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Tue, 3 Jul 2007 15:29:19 +0000 Subject: [PATCH] re PR c++/32609 (ICE in htab_clear_slot at libiberty/hashtab.c:722) 2007-07-03 Richard Guenther PR c++/32609 * class.c (fixed_type_or_null): Re-lookup the hashtable slot after recursing. From-SVN: r126262 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/class.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) 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 + + PR c++/32609 + * class.c (fixed_type_or_null): Re-lookup the hashtable slot + after recursing. + 2007-07-02 Simon Baldwin * 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; } -- 2.30.2