{
m_mark = true;
if (m_dependencies != nullptr)
- htab_traverse (m_dependencies, dwarf2_mark_helper, per_objfile);
+ htab_traverse (m_dependencies.get (), dwarf2_mark_helper, per_objfile);
}
}
void **slot;
if (m_dependencies == nullptr)
- m_dependencies
- = htab_create_alloc_ex (5, htab_hash_pointer, htab_eq_pointer,
- NULL, &comp_unit_obstack,
- hashtab_obstack_allocate,
- dummy_obstack_deallocate);
+ m_dependencies.reset (htab_create_alloc
+ (5, htab_hash_pointer, htab_eq_pointer,
+ nullptr, xcalloc, xfree));
- slot = htab_find_slot (m_dependencies, ref_per_cu, INSERT);
+ slot = htab_find_slot (m_dependencies.get (), ref_per_cu, INSERT);
if (*slot == nullptr)
*slot = ref_per_cu;
}
/* A set of pointers to dwarf2_per_cu_data objects for compilation
units referenced by this one. Only set during full symbol processing;
partial symbol tables do not have dependencies. */
- htab_t m_dependencies = nullptr;
+ htab_up m_dependencies;
public:
/* The generic symbol table building routines have separate lists for