forked from Imagelibrary/binutils-gdb
Make to_traceframe_info return a unique_ptr
Since this target method returns an allocated object, return a unique_ptr. It allows getting rid a some cleanups here and there. I had to shuffle the includes around. First, target.h now needs to include tracepoint.h, to get the definition of traceframe_info_up. However, the definition of enum trace_find_type was later in target, so I had to move it to tracepoint.h, so that the declaration of tfind_1 could know about it. I then had to remove the include of target.h from tracepoint.h, which caused a circular dependency (it was probably included to get enum trace_find_type in the first place anyway). Regression tested on the buildbot. gdb/ChangeLog: * target.h: Include tracepoint.h. (enum trace_find_type): Move to tracepoint.h. (struct target_ops) <to_traceframe_info>: Return a unique ptr. * tracepoint.h: Don't include target.h (enum trace_find_type): Move from target.h. (parse_traceframe_info): Return a unique ptr. * tracepoint.c (current_traceframe_info): Change type to unique ptr. (free_traceframe_info): Remove. (clear_traceframe_info): Don't manually free current_traceframe_info. (free_result): Remove. (parse_traceframe_info): Return a unique ptr. (get_traceframe_info): Adjust to unique ptr. * ctf.c (ctf_traceframe_info): Return a unique ptr. * remote.c (remote_traceframe_info): Return a unique ptr. * tracefile-tfile.c (tfile_traceframe_info): Return a unique ptr. * target-debug.h (target_debug_print_traceframe_info_up): New macro. * target-delegates.c: Regenerate.
This commit is contained in:
committed by
Simon Marchi
parent
4cdd21a8d3
commit
2098b39391
@@ -1635,10 +1635,10 @@ ctf_trace_find (struct target_ops *self, enum trace_find_type type, int num,
|
||||
frame, extract memory range information, and return them in
|
||||
traceframe_info. */
|
||||
|
||||
static struct traceframe_info *
|
||||
static traceframe_info_up
|
||||
ctf_traceframe_info (struct target_ops *self)
|
||||
{
|
||||
traceframe_info *info = new traceframe_info;
|
||||
traceframe_info_up info (new traceframe_info);
|
||||
const char *name;
|
||||
struct bt_iter_pos *pos;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user