diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2017-10-14 08:43:54 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@ericsson.com> | 2017-10-14 08:43:55 -0400 |
commit | 4cdd21a8d3fd943d6993e9d053edf09583802744 (patch) | |
tree | 23e8793e081cdccbc32fa04ae7af0b78bf4933ca /gdb/ctf.c | |
parent | d0d292a27402ee2d3f91d541371f134f91730373 (diff) | |
download | gdb-4cdd21a8d3fd943d6993e9d053edf09583802744.zip gdb-4cdd21a8d3fd943d6993e9d053edf09583802744.tar.gz gdb-4cdd21a8d3fd943d6993e9d053edf09583802744.tar.bz2 |
Use std::vector for traceframe_info::memory
Straightforward change from a VEC to std::vector. This allows making
the destruction of a traceframe_info trivial.
I added a constructor with parameters to mem_range to be able to
emplace_back directly with the values. It is necessary to leave a
default constructor there because mem_range is still used in a VEC.
gdb/ChangeLog:
* memrange.h (struct mem_range): Add constructors.
* tracepoint.h (struct traceframe_info) <memory>: Change type to
std::vector<mem_range>.
* tracepoint.c (free_traceframe_info): Don't manually free
vector.
(traceframe_info_start_memory): Adjust to vector change.
(traceframe_available_memory): Likewise.
* tracefile-tfile.c (build_traceframe_info): Likewise.
* ctf.c (ctf_traceframe_info): Likewise.
Diffstat (limited to 'gdb/ctf.c')
-rw-r--r-- | gdb/ctf.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -1663,14 +1663,14 @@ ctf_traceframe_info (struct target_ops *self) = bt_ctf_get_top_level_scope (event, BT_EVENT_FIELDS); const struct bt_definition *def; - struct mem_range *r; - r = VEC_safe_push (mem_range_s, info->memory, NULL); def = bt_ctf_get_field (event, scope, "address"); - r->start = bt_ctf_get_uint64 (def); + CORE_ADDR start = bt_ctf_get_uint64 (def); def = bt_ctf_get_field (event, scope, "length"); - r->length = (uint16_t) bt_ctf_get_uint64 (def); + int length = (uint16_t) bt_ctf_get_uint64 (def); + + info->memory.emplace_back (start, length); } else if (strcmp (name, "tsv") == 0) { |