diff options
author | Tom Tromey <tom@tromey.com> | 2019-04-21 12:45:00 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2019-05-08 16:01:49 -0600 |
commit | 51d3063a35fad1fa0cd53c167bb5a4325afeea16 (patch) | |
tree | c3ca952111f598bef21ed8e002514e25bc477505 /gdb/breakpoint.c | |
parent | 89fb8848d7f00cabeb56344762860469238c24e1 (diff) | |
download | gdb-51d3063a35fad1fa0cd53c167bb5a4325afeea16.zip gdb-51d3063a35fad1fa0cd53c167bb5a4325afeea16.tar.gz gdb-51d3063a35fad1fa0cd53c167bb5a4325afeea16.tar.bz2 |
Convert breakpoint.c to type-safe registry API
This changes breakpoint.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* breakpoint.c (breakpoint_objfile_key): Change type.
(get_breakpoint_objfile_data): Update.
(free_breakpoint_objfile_data): Remove.
(_initialize_breakpoint): Update.
Diffstat (limited to 'gdb/breakpoint.c')
-rw-r--r-- | gdb/breakpoint.c | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index f6d2f36..35da97b 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -3156,7 +3156,8 @@ struct breakpoint_objfile_data std::vector<probe *> exception_probes; }; -static const struct objfile_data *breakpoint_objfile_key; +static const struct objfile_key<breakpoint_objfile_data> + breakpoint_objfile_key; /* Minimal symbol not found sentinel. */ static struct minimal_symbol msym_not_found; @@ -3177,26 +3178,13 @@ get_breakpoint_objfile_data (struct objfile *objfile) { struct breakpoint_objfile_data *bp_objfile_data; - bp_objfile_data = ((struct breakpoint_objfile_data *) - objfile_data (objfile, breakpoint_objfile_key)); + bp_objfile_data = breakpoint_objfile_key.get (objfile); if (bp_objfile_data == NULL) - { - bp_objfile_data = new breakpoint_objfile_data (); - set_objfile_data (objfile, breakpoint_objfile_key, bp_objfile_data); - } + bp_objfile_data = breakpoint_objfile_key.emplace (objfile); return bp_objfile_data; } static void -free_breakpoint_objfile_data (struct objfile *obj, void *data) -{ - struct breakpoint_objfile_data *bp_objfile_data - = (struct breakpoint_objfile_data *) data; - - delete bp_objfile_data; -} - -static void create_overlay_event_breakpoint (void) { const char *const func_name = "_ovly_debug_event"; @@ -15448,9 +15436,6 @@ _initialize_breakpoint (void) gdb::observers::free_objfile.attach (disable_breakpoints_in_freed_objfile); gdb::observers::memory_changed.attach (invalidate_bp_value_on_memory_change); - breakpoint_objfile_key - = register_objfile_data_with_cleanup (NULL, free_breakpoint_objfile_data); - breakpoint_chain = 0; /* Don't bother to call set_breakpoint_count. $bpnum isn't useful before a breakpoint is set. */ |