diff options
| author | Simon Marchi <simon.marchi@polymtl.ca> | 2017-10-14 08:47:44 -0400 | 
|---|---|---|
| committer | Simon Marchi <simon.marchi@ericsson.com> | 2017-10-14 08:47:44 -0400 | 
| commit | 2098b39391a5ade9ed308d76f2dfc7ceedd2d9a3 (patch) | |
| tree | a6be020ecea33167c825e9898e81d2f32b8066c6 /gdb/ctf.c | |
| parent | 4cdd21a8d3fd943d6993e9d053edf09583802744 (diff) | |
| download | binutils-2098b39391a5ade9ed308d76f2dfc7ceedd2d9a3.zip binutils-2098b39391a5ade9ed308d76f2dfc7ceedd2d9a3.tar.gz binutils-2098b39391a5ade9ed308d76f2dfc7ceedd2d9a3.tar.bz2  | |
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.
Diffstat (limited to 'gdb/ctf.c')
| -rw-r--r-- | gdb/ctf.c | 4 | 
1 files changed, 2 insertions, 2 deletions
@@ -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;  | 
