Make to_traceframe_info return a unique_ptr
authorSimon Marchi <simon.marchi@polymtl.ca>
Sat, 14 Oct 2017 12:47:44 +0000 (08:47 -0400)
committerSimon Marchi <simon.marchi@ericsson.com>
Sat, 14 Oct 2017 12:47:44 +0000 (08:47 -0400)
commit2098b39391a5ade9ed308d76f2dfc7ceedd2d9a3
treea6be020ecea33167c825e9898e81d2f32b8066c6
parent4cdd21a8d3fd943d6993e9d053edf09583802744
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.
gdb/ChangeLog
gdb/ctf.c
gdb/remote.c
gdb/target-debug.h
gdb/target-delegates.c
gdb/target.h
gdb/tracefile-tfile.c
gdb/tracepoint.c
gdb/tracepoint.h
This page took 0.03077 seconds and 4 git commands to generate.