aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2020-02-19 17:16:51 -0700
committerTom Tromey <tom@tromey.com>2020-02-19 17:22:13 -0700
commit869d89506ca4b97b1b31d0d9e7508d980a3653b6 (patch)
tree9f4b3360f8fa532748ff392182f36df8ea417618
parent5f1839bbd2ed70c26813d239bbf441bdd22ae87b (diff)
downloadgdb-869d89506ca4b97b1b31d0d9e7508d980a3653b6.zip
gdb-869d89506ca4b97b1b31d0d9e7508d980a3653b6.tar.gz
gdb-869d89506ca4b97b1b31d0d9e7508d980a3653b6.tar.bz2
Two compute_and_set_names simplifications
This patch simplifies compute_and_set_names in a couple of ways. First, it changes one spot to use obstack_strndup, which is equivalent, but more concise. Second, the function ends with two calls to symbol_set_demangled_name. This can be simplified to a single call. gdb/ChangeLog 2020-02-19 Tom Tromey <tom@tromey.com> * symtab.c (general_symbol_info::compute_and_set_names): Use obstack_strndup. Simplify call to symbol_set_demangled_name.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/symtab.c18
2 files changed, 10 insertions, 13 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b4a586c..e3f7e9f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2020-02-19 Tom Tromey <tom@tromey.com>
+
+ * symtab.c (general_symbol_info::compute_and_set_names): Use
+ obstack_strndup. Simplify call to symbol_set_demangled_name.
+
2020-02-19 Simon Marchi <simon.marchi@efficios.com>
* dwarf2/read.c (allocate_signatured_type_table,
diff --git a/gdb/symtab.c b/gdb/symtab.c
index d99be41..a80b80d 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -869,14 +869,9 @@ general_symbol_info::compute_and_set_names (gdb::string_view linkage_name,
if (!copy_name)
m_name = linkage_name.data ();
else
- {
- char *name = (char *) obstack_alloc (&per_bfd->storage_obstack,
- linkage_name.length () + 1);
-
- memcpy (name, linkage_name.data (), linkage_name.length ());
- name[linkage_name.length ()] = '\0';
- m_name = name;
- }
+ m_name = obstack_strndup (&per_bfd->storage_obstack,
+ linkage_name.data (),
+ linkage_name.length ());
symbol_set_demangled_name (this, NULL, &per_bfd->storage_obstack);
return;
@@ -967,11 +962,8 @@ general_symbol_info::compute_and_set_names (gdb::string_view linkage_name,
m_language = (*slot)->language;
m_name = (*slot)->mangled.data ();
- if ((*slot)->demangled != nullptr)
- symbol_set_demangled_name (this, (*slot)->demangled.get (),
- &per_bfd->storage_obstack);
- else
- symbol_set_demangled_name (this, NULL, &per_bfd->storage_obstack);
+ symbol_set_demangled_name (this, (*slot)->demangled.get (),
+ &per_bfd->storage_obstack);
}
/* See symtab.h. */