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.
This commit is contained in:
parent
5f1839bbd2
commit
869d89506c
2 changed files with 10 additions and 13 deletions
|
@ -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>
|
2020-02-19 Simon Marchi <simon.marchi@efficios.com>
|
||||||
|
|
||||||
* dwarf2/read.c (allocate_signatured_type_table,
|
* dwarf2/read.c (allocate_signatured_type_table,
|
||||||
|
|
18
gdb/symtab.c
18
gdb/symtab.c
|
@ -869,14 +869,9 @@ general_symbol_info::compute_and_set_names (gdb::string_view linkage_name,
|
||||||
if (!copy_name)
|
if (!copy_name)
|
||||||
m_name = linkage_name.data ();
|
m_name = linkage_name.data ();
|
||||||
else
|
else
|
||||||
{
|
m_name = obstack_strndup (&per_bfd->storage_obstack,
|
||||||
char *name = (char *) obstack_alloc (&per_bfd->storage_obstack,
|
linkage_name.data (),
|
||||||
linkage_name.length () + 1);
|
linkage_name.length ());
|
||||||
|
|
||||||
memcpy (name, linkage_name.data (), linkage_name.length ());
|
|
||||||
name[linkage_name.length ()] = '\0';
|
|
||||||
m_name = name;
|
|
||||||
}
|
|
||||||
symbol_set_demangled_name (this, NULL, &per_bfd->storage_obstack);
|
symbol_set_demangled_name (this, NULL, &per_bfd->storage_obstack);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
@ -967,11 +962,8 @@ general_symbol_info::compute_and_set_names (gdb::string_view linkage_name,
|
||||||
m_language = (*slot)->language;
|
m_language = (*slot)->language;
|
||||||
|
|
||||||
m_name = (*slot)->mangled.data ();
|
m_name = (*slot)->mangled.data ();
|
||||||
if ((*slot)->demangled != nullptr)
|
symbol_set_demangled_name (this, (*slot)->demangled.get (),
|
||||||
symbol_set_demangled_name (this, (*slot)->demangled.get (),
|
&per_bfd->storage_obstack);
|
||||||
&per_bfd->storage_obstack);
|
|
||||||
else
|
|
||||||
symbol_set_demangled_name (this, NULL, &per_bfd->storage_obstack);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* See symtab.h. */
|
/* See symtab.h. */
|
||||||
|
|
Loading…
Add table
Reference in a new issue