aboutsummaryrefslogtreecommitdiff
path: root/gdb/ctf.c
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2017-10-14 08:43:54 -0400
committerSimon Marchi <simon.marchi@ericsson.com>2017-10-14 08:43:55 -0400
commit4cdd21a8d3fd943d6993e9d053edf09583802744 (patch)
tree23e8793e081cdccbc32fa04ae7af0b78bf4933ca /gdb/ctf.c
parentd0d292a27402ee2d3f91d541371f134f91730373 (diff)
downloadgdb-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.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gdb/ctf.c b/gdb/ctf.c
index 183ee34..bef6f30 100644
--- a/gdb/ctf.c
+++ b/gdb/ctf.c
@@ -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)
{