From 4cdd21a8d3fd943d6993e9d053edf09583802744 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Sat, 14 Oct 2017 08:43:54 -0400 Subject: 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) : Change type to std::vector. * 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. --- gdb/ctf.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gdb/ctf.c') 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) { -- cgit v1.1