diff options
author | Christian Biesinger <cbiesinger@google.com> | 2019-11-27 20:52:35 -0600 |
---|---|---|
committer | Christian Biesinger <cbiesinger@google.com> | 2019-12-27 01:41:35 -0300 |
commit | 4d4eaa30055138112bd17ed6933f2da39760d9e6 (patch) | |
tree | 5908e91dd79fe15f590a918b344a195c1c21b3d6 /gdb/symtab.h | |
parent | b0d674e2b47b9143b7f78111e2d5dd9f462272d9 (diff) | |
download | binutils-4d4eaa30055138112bd17ed6933f2da39760d9e6.zip binutils-4d4eaa30055138112bd17ed6933f2da39760d9e6.tar.gz binutils-4d4eaa30055138112bd17ed6933f2da39760d9e6.tar.bz2 |
Make symbol_set_names a member function
This also renames it to make it clearer that this is not a cheap
function (to compute_and_set_names). Also renames name to m_name
to make the implementation of the renamed function more readable.
Most of the places that access sym->m_name directly were also changed
to call linkage_name () instead, to make it clearer which name they
are accessing.
gdb/ChangeLog:
2019-12-26 Christian Biesinger <cbiesinger@google.com>
* ada-lang.c (ada_decode_symbol): Update.
* buildsym.c (add_symbol_to_list): Update.
* coffread.c (process_coff_symbol): Update.
* ctfread.c (ctf_add_enum_member_cb): Update.
(new_symbol): Update.
(ctf_add_var_cb): Update.
* dwarf2read.c (fixup_go_packaging): Update.
(dwarf2_compute_name): Update.
(new_symbol): Update.
* jit.c (finalize_symtab): Update.
* language.c (language_alloc_type_symbol): Update.
* mdebugread.c (new_symbol): Update.
* minsyms.c (minimal_symbol_reader::record_full): Update.
(minimal_symbol_reader::install): Update.
* psymtab.c (print_partial_symbols): Update.
(psymbol_hash): Update.
(psymbol_compare): Update.
(add_psymbol_to_bcache): Update.
(maintenance_check_psymtabs): Update.
* stabsread.c (define_symbol): Update.
* symtab.c (symbol_set_names): Rename to...
(general_symbol_info::compute_and_set_names): ...this.
(general_symbol_info::natural_name): Update.
(general_symbol_info::search_name): Update.
(fixup_section): Update.
* symtab.h (struct general_symbol_info) <name>: Rename to...
<m_name>: ...this.
<compute_and_set_names>: Rename from...
(symbol_set_names): ...this.
(SYMBOL_SET_NAMES): Remove.
(struct symbol) <ctor>: Update.
Change-Id: I8da1f10cab4e0b89f19d5750fa4e6e2ac8d2b24f
Diffstat (limited to 'gdb/symtab.h')
-rw-r--r-- | gdb/symtab.h | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/gdb/symtab.h b/gdb/symtab.h index e18cd65..a168296 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -389,7 +389,7 @@ struct general_symbol_info and linkage_name () are different. */ const char *linkage_name () const - { return name; } + { return m_name; } /* Return SYMBOL's "natural" name, i.e. the name that it was called in the original source code. In languages like C++ where symbols may @@ -419,11 +419,11 @@ struct general_symbol_info /* Set just the linkage name of a symbol; do not try to demangle it. Used for constructs which do not have a mangled name, - e.g. struct tags. Unlike SYMBOL_SET_NAMES, linkage_name must + e.g. struct tags. Unlike compute_and_set_names, linkage_name must be terminated and either already on the objfile's obstack or permanently allocated. */ void set_linkage_name (const char *linkage_name) - { name = linkage_name; } + { m_name = linkage_name; } enum language language () const { return m_language; } @@ -432,13 +432,21 @@ struct general_symbol_info depending upon the language for the symbol. */ void set_language (enum language language, struct obstack *obstack); + /* Set the linkage and natural names of a symbol, by demangling + the linkage name. If linkage_name may not be nullterminated, + copy_name must be set to true. */ + void compute_and_set_names (gdb::string_view linkage_name, bool copy_name, + struct objfile_per_bfd_storage *per_bfd, + gdb::optional<hashval_t> hash + = gdb::optional<hashval_t> ()); + /* Name of the symbol. This is a required field. Storage for the name is allocated on the objfile_obstack for the associated objfile. For languages like C++ that make a distinction between the mangled name and demangled name, this is the mangled name. */ - const char *name; + const char *m_name; /* Value of the symbol. Which member of this union to use, and what it means, depends on what kind of symbol this is and its @@ -544,18 +552,6 @@ extern CORE_ADDR get_symbol_address (const struct symbol *sym); extern char *symbol_find_demangled_name (struct general_symbol_info *gsymbol, const char *mangled); -/* Set the linkage and natural names of a symbol, by demangling - the linkage name. If linkage_name may not be nullterminated, - copy_name must be set to true. */ -#define SYMBOL_SET_NAMES(symbol,linkage_name,copy_name,objfile) \ - symbol_set_names ((symbol), linkage_name, copy_name, \ - (objfile)->per_bfd) -extern void symbol_set_names (struct general_symbol_info *symbol, - gdb::string_view linkage_name, bool copy_name, - struct objfile_per_bfd_storage *per_bfd, - gdb::optional<hashval_t> hash - = gdb::optional<hashval_t> ()); - /* Return true if NAME matches the "search" name of SYMBOL, according to the symbol's language. */ #define SYMBOL_MATCHES_SEARCH_NAME(symbol, name) \ @@ -1092,7 +1088,7 @@ struct symbol : public general_symbol_info, public allocate_on_obstack { /* We can't use an initializer list for members of a base class, and general_symbol_info needs to stay a POD type. */ - name = nullptr; + m_name = nullptr; value.ivalue = 0; language_specific.obstack = nullptr; m_language = language_unknown; |