diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 0ad169a98b0..0a889a04e81 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -21,7 +21,7 @@ #include #include "event-top.h" #include "exceptions.h" -#include "hashtab.h" +#include "gdbsupport/unordered_set.h" #include "symtab.h" #include "frame.h" #include "breakpoint.h" @@ -12736,25 +12736,18 @@ all_locations_are_pending (struct breakpoint *b, struct program_space *pspace) static bool ambiguous_names_p (const bp_location_range &locs) { - htab_up htab (htab_create_alloc (13, htab_hash_string, htab_eq_string, NULL, - xcalloc, xfree)); + gdb::unordered_set htab; for (const bp_location &l : locs) { - const char **slot; const char *name = l.function_name.get (); /* Allow for some names to be NULL, ignore them. */ if (name == NULL) continue; - slot = (const char **) htab_find_slot (htab.get (), (const void *) name, - INSERT); - /* NOTE: We can assume slot != NULL here because xcalloc never - returns NULL. */ - if (*slot != NULL) + if (!htab.insert (name).second) return true; - *slot = name; } return false;