forked from Imagelibrary/binutils-gdb
Convert breakpoint.c to new hash table
This converts breakpoint.c to use the new hash table. Change-Id: I6d997a6242969586a7f8f9eb22cc8dd8d3ac97ff Co-Authored-By: Tom Tromey <tom@tromey.com> Approved-By: Tom Tromey <tom@tromey.com>
This commit is contained in:
committed by
Simon Marchi
parent
370e6d147c
commit
e77c31d28d
@@ -21,7 +21,7 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include "event-top.h"
|
#include "event-top.h"
|
||||||
#include "exceptions.h"
|
#include "exceptions.h"
|
||||||
#include "hashtab.h"
|
#include "gdbsupport/unordered_set.h"
|
||||||
#include "symtab.h"
|
#include "symtab.h"
|
||||||
#include "frame.h"
|
#include "frame.h"
|
||||||
#include "breakpoint.h"
|
#include "breakpoint.h"
|
||||||
@@ -12736,25 +12736,18 @@ all_locations_are_pending (struct breakpoint *b, struct program_space *pspace)
|
|||||||
static bool
|
static bool
|
||||||
ambiguous_names_p (const bp_location_range &locs)
|
ambiguous_names_p (const bp_location_range &locs)
|
||||||
{
|
{
|
||||||
htab_up htab (htab_create_alloc (13, htab_hash_string, htab_eq_string, NULL,
|
gdb::unordered_set<std::string_view> htab;
|
||||||
xcalloc, xfree));
|
|
||||||
|
|
||||||
for (const bp_location &l : locs)
|
for (const bp_location &l : locs)
|
||||||
{
|
{
|
||||||
const char **slot;
|
|
||||||
const char *name = l.function_name.get ();
|
const char *name = l.function_name.get ();
|
||||||
|
|
||||||
/* Allow for some names to be NULL, ignore them. */
|
/* Allow for some names to be NULL, ignore them. */
|
||||||
if (name == NULL)
|
if (name == NULL)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
slot = (const char **) htab_find_slot (htab.get (), (const void *) name,
|
if (!htab.insert (name).second)
|
||||||
INSERT);
|
|
||||||
/* NOTE: We can assume slot != NULL here because xcalloc never
|
|
||||||
returns NULL. */
|
|
||||||
if (*slot != NULL)
|
|
||||||
return true;
|
return true;
|
||||||
*slot = name;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
Reference in New Issue
Block a user