diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2018-03-30 17:18:54 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2018-03-30 17:18:54 -0400 |
commit | a18ba4e4c9d64eeb2ea65e5315fbd8b4261a1756 (patch) | |
tree | 0305bf8d7650858d6095d28a0dd9c2d55e186562 /gdb/tracepoint.h | |
parent | a7961323e2fce4f831e117cc43e20e5144192240 (diff) | |
download | gdb-a18ba4e4c9d64eeb2ea65e5315fbd8b4261a1756.zip gdb-a18ba4e4c9d64eeb2ea65e5315fbd8b4261a1756.tar.gz gdb-a18ba4e4c9d64eeb2ea65e5315fbd8b4261a1756.tar.bz2 |
Use std::vector in uploaded_tp
This patch changes the VEC(char_ptr) fields in uploaded_tp to use
std::vector<char *>. At first, I wanted to creep in more changes, like
using std::string, but it was making the patch too big and less focused,
so I decided to keep it to just that.
It also looks like the strings in those vectors are never free'd. If
so, we can fix that in another patch.
gdb/ChangeLog:
* tracepoint.h (struct uploaded_tp): Initialize fields.
<actions, step_actions, cmd_strings>: Change type to
std::vector<char *>.
* tracepoint.c (get_uploaded_tp): Allocate with new.
(free_uploaded_tps): Free with delete.
(parse_tracepoint_definition): Adjust to std::vector change.
* breakpoint.c (read_uploaded_action): Likewise.
(create_tracepoint_from_upload): Likewise.
* ctf.c (ctf_write_uploaded_tp): Likewise.
(SET_ARRAY_FIELD): Likewise.
* tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
Diffstat (limited to 'gdb/tracepoint.h')
-rw-r--r-- | gdb/tracepoint.h | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/gdb/tracepoint.h b/gdb/tracepoint.h index c82b62a..8613cb2 100644 --- a/gdb/tracepoint.h +++ b/gdb/tracepoint.h @@ -165,38 +165,38 @@ extern const char *stop_reason_names[]; struct uploaded_tp { - int number; - enum bptype type; - ULONGEST addr; - int enabled; - int step; - int pass; - int orig_size; + int number = 0; + enum bptype type = bp_none; + ULONGEST addr = 0; + int enabled = 0; + int step = 0; + int pass = 0; + int orig_size = 0; /* String that is the encoded form of the tracepoint's condition. */ - char *cond; + char *cond = nullptr; /* Vectors of strings that are the encoded forms of a tracepoint's actions. */ - VEC(char_ptr) *actions; - VEC(char_ptr) *step_actions; + std::vector<char *> actions; + std::vector<char *> step_actions; /* The original string defining the location of the tracepoint. */ - char *at_string; + char *at_string = nullptr; /* The original string defining the tracepoint's condition. */ - char *cond_string; + char *cond_string = nullptr; /* List of original strings defining the tracepoint's actions. */ - VEC(char_ptr) *cmd_strings; + std::vector<char *> cmd_strings; /* The tracepoint's current hit count. */ - int hit_count; + int hit_count = 0; /* The tracepoint's current traceframe usage. */ - ULONGEST traceframe_usage; + ULONGEST traceframe_usage = 0; - struct uploaded_tp *next; + struct uploaded_tp *next = nullptr; }; /* Struct recording info about trace state variables on the target. */ |