aboutsummaryrefslogtreecommitdiff
path: root/gdb/symtab.c
diff options
context:
space:
mode:
authorChristian Biesinger <cbiesinger@google.com>2019-12-11 19:50:43 -0500
committerChristian Biesinger <cbiesinger@google.com>2019-12-16 00:44:58 -0600
commitd3ecddab5fc036fb57588a9bfff73575dc419052 (patch)
treec8f55940571566a15e9ecec31841d9ee038835b6 /gdb/symtab.c
parentc1b5c1ebc938b6dc0277363b8c47d75b0b5a621f (diff)
downloadfsf-binutils-gdb-d3ecddab5fc036fb57588a9bfff73575dc419052.zip
fsf-binutils-gdb-d3ecddab5fc036fb57588a9bfff73575dc419052.tar.gz
fsf-binutils-gdb-d3ecddab5fc036fb57588a9bfff73575dc419052.tar.bz2
Use a member function to set a symbol's language
This removes symbol_set_language and SYMBOL_SET_LANGUAGE in favor of a new function general_symbol_info::set_language. symbol and minimal_symbol already inherit from that struct so this works naturally. gdb/ChangeLog: 2019-12-15 Christian Biesinger <cbiesinger@google.com> * ada-exp.y (write_ambiguous_var): Update. * coffread.c (process_coff_symbol): Update. * ctfread.c (ctf_add_enum_member_cb): Update. (new_symbol): Update. * dwarf2read.c (fixup_go_packaging): Update. (new_symbol): Update. * language.c (language_alloc_type_symbol): Update. * mdebugread.c (new_symbol): Update. * minsyms.c (minimal_symbol_reader::record_full): Update. * psymtab.c (add_psymbol_to_bcache): Update. * stabsread.c (define_symbol): Update. (read_enum_type): Update. * symtab.c (symbol_set_language): Make this a member function... (general_symbol_info::set_language): ... here. * symtab.h (struct general_symbol_info) <set_language>: New function. (SYMBOL_SET_LANGUAGE): Remove. (symbol_set_language): Remove. Change-Id: Ideafb6c384004b9adef793a1192735c501da41d5
Diffstat (limited to 'gdb/symtab.c')
-rw-r--r--gdb/symtab.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/gdb/symtab.c b/gdb/symtab.c
index a082ee2..2655137 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -712,28 +712,26 @@ symbol_get_demangled_name (const struct general_symbol_info *gsymbol)
depending upon the language for the symbol. */
void
-symbol_set_language (struct general_symbol_info *gsymbol,
- enum language language,
- struct obstack *obstack)
+general_symbol_info::set_language (enum language language,
+ struct obstack *obstack)
{
- gsymbol->m_language = language;
+ m_language = language;
if (language == language_cplus
|| language == language_d
|| language == language_go
|| language == language_objc
|| language == language_fortran)
{
- symbol_set_demangled_name (gsymbol, NULL, obstack);
+ symbol_set_demangled_name (this, NULL, obstack);
}
else if (language == language_ada)
{
- gdb_assert (gsymbol->ada_mangled == 0);
- gsymbol->language_specific.obstack = obstack;
+ gdb_assert (ada_mangled == 0);
+ language_specific.obstack = obstack;
}
else
{
- memset (&gsymbol->language_specific, 0,
- sizeof (gsymbol->language_specific));
+ memset (&language_specific, 0, sizeof (language_specific));
}
}