I have a static hash_map object that needs to persist across passes:
static GTY(()) hash_map<tree, bitmap> *map; I initialize the map like so: map = hash_map<tree, bitmap>::create_ggc (4); But I see crashes when accessing the map after adding and removing some number of entries in a few passes. The crashes are due to the map having been garbage-collected and the memory allocated to it poisoned (it has the 0xa5a5a5a5a5a5a5a5 bit pattern that I see in GDD being written into the map by poison_pages()). I assumed marking the map pointer GTY(()) would keep the garbage collector from touching the map. Is there something else I need to do to keep it from doing that? Thanks Martin PS Just in case it matters, the bitmap in the table is allocated via BITMAP_ALLOC() with a bitmap_obstack variable defined alongside the map.