projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
jit: c++-ify gdb_block
[deliverable/binutils-gdb.git]
/
gdb
/
jit.c
diff --git
a/gdb/jit.c
b/gdb/jit.c
index a731edd870d38049ec13cc8dee115012ea0ce70e..bb6b6bacb5d17a5c3218c284e976ac310e071143 100644
(file)
--- a/
gdb/jit.c
+++ b/
gdb/jit.c
@@
-429,22
+429,30
@@
jit_read_code_entry (struct gdbarch *gdbarch,
struct gdb_block
{
struct gdb_block
{
+ gdb_block (gdb_block *parent, CORE_ADDR begin, CORE_ADDR end,
+ const char *name)
+ : parent (parent),
+ begin (begin),
+ end (end),
+ name (name != nullptr ? xstrdup (name) : nullptr)
+ {}
+
/* gdb_blocks are linked into a tree structure. Next points to the
next node at the same depth as this block and parent to the
parent gdb_block. */
/* gdb_blocks are linked into a tree structure. Next points to the
next node at the same depth as this block and parent to the
parent gdb_block. */
- struct gdb_block *next, *parent;
+ struct gdb_block *next
= nullptr
, *parent;
/* Points to the "real" block that is being built out of this
instance. This block will be added to a blockvector, which will
then be added to a symtab. */
/* Points to the "real" block that is being built out of this
instance. This block will be added to a blockvector, which will
then be added to a symtab. */
- struct block *real_block;
+ struct block *real_block
= nullptr
;
/* The first and last code address corresponding to this block. */
CORE_ADDR begin, end;
/* The name of this block (if any). If this is non-NULL, the
FUNCTION symbol symbol is set to this value. */
/* The first and last code address corresponding to this block. */
CORE_ADDR begin, end;
/* The name of this block (if any). If this is non-NULL, the
FUNCTION symbol symbol is set to this value. */
-
const char *
name;
+
gdb::unique_xmalloc_ptr<char>
name;
};
/* Proxy object for building a symtab. */
};
/* Proxy object for building a symtab. */
@@
-465,8
+473,7
@@
struct gdb_symtab
gdb_block_iter = gdb_block_iter_tmp)
{
gdb_block_iter_tmp = gdb_block_iter->next;
gdb_block_iter = gdb_block_iter_tmp)
{
gdb_block_iter_tmp = gdb_block_iter->next;
- xfree ((void *) gdb_block_iter->name);
- xfree (gdb_block_iter);
+ delete gdb_block_iter;
}
}
}
}
@@
-574,13
+581,9
@@
jit_block_open_impl (struct gdb_symbol_callbacks *cb,
struct gdb_symtab *symtab, struct gdb_block *parent,
GDB_CORE_ADDR begin, GDB_CORE_ADDR end, const char *name)
{
struct gdb_symtab *symtab, struct gdb_block *parent,
GDB_CORE_ADDR begin, GDB_CORE_ADDR end, const char *name)
{
- struct gdb_block *block =
XCNEW (struct gdb_block
);
+ struct gdb_block *block =
new gdb_block (parent, begin, end, name
);
block->next = symtab->blocks;
block->next = symtab->blocks;
- block->begin = (CORE_ADDR) begin;
- block->end = (CORE_ADDR) end;
- block->name = name ? xstrdup (name) : NULL;
- block->parent = parent;
/* Ensure that the blocks are inserted in the correct (reverse of
the order expected by blockvector). */
/* Ensure that the blocks are inserted in the correct (reverse of
the order expected by blockvector). */
@@
-721,7
+724,7
@@
finalize_symtab (struct gdb_symtab *stab, struct objfile *objfile)
SYMBOL_BLOCK_VALUE (block_name) = new_block;
block_name->name = obstack_strdup (&objfile->objfile_obstack,
SYMBOL_BLOCK_VALUE (block_name) = new_block;
block_name->name = obstack_strdup (&objfile->objfile_obstack,
- gdb_block_iter->name);
+ gdb_block_iter->name
.get ()
);
BLOCK_FUNCTION (new_block) = block_name;
BLOCK_FUNCTION (new_block) = block_name;
This page took
0.0267 seconds
and
4
git commands to generate.