diff options
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r-- | gcc/varasm.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index 056d8c77219..8b4385b7856 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -5795,16 +5795,10 @@ struct tm_clone_hasher : ggc_cache_hasher<tree_map *> static hashval_t hash (tree_map *m) { return tree_map_hash (m); } static bool equal (tree_map *a, tree_map *b) { return tree_map_eq (a, b); } - static void - handle_cache_entry (tree_map *&e) + static int + keep_cache_entry (tree_map *&e) { - extern void gt_ggc_mx (tree_map *&); - if (e == HTAB_EMPTY_ENTRY || e == HTAB_DELETED_ENTRY) - return; - else if (ggc_marked_p (e->base.from)) - gt_ggc_mx (e); - else - e = static_cast<tree_map *> (HTAB_DELETED_ENTRY); + return ggc_marked_p (e->base.from); } }; |