forked from Imagelibrary/binutils-gdb
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.
This commit is contained in:
committed by
Simon Marchi
parent
d0d292a274
commit
4cdd21a8d3
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user