Patchwork [1/3] Use symbol_set_language to set a symbol's language

login
register
mail settings
Submitter Christian Biesinger
Date Dec. 14, 2019, 11:29 p.m.
Message ID <20191214232959.3973-2-cbiesinger@chromium.org>
Download mbox | patch
Permalink /patch/36877/
State New
Headers show

Comments

Christian Biesinger - Dec. 14, 2019, 11:29 p.m.
From: Christian Biesinger <cbiesinger@google.com>

Instead of using SYMBOL_LANGUAGE (sym) = foo.

Having only a single way to set a symbol's language is clearer and this
is also a requirement for making set_language a member function.

gdb/ChangeLog:

2019-12-14  Christian Biesinger  <cbiesinger@google.com>

	* ada-exp.y (write_ambiguous_var): Call symbol_set_language to
	set the language of sym.
	* language.c (language_alloc_type_symbol): Likewise.

Change-Id: I85338ea2e4121155f2da222fe0aa6b7d3ffe26f7
---
 gdb/ada-exp.y  | 2 +-
 gdb/language.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Patch

diff --git a/gdb/ada-exp.y b/gdb/ada-exp.y
index 00020cd067..6b1bdfa139 100644
--- a/gdb/ada-exp.y
+++ b/gdb/ada-exp.y
@@ -1106,7 +1106,7 @@  write_ambiguous_var (struct parser_state *par_state,
 
   SYMBOL_DOMAIN (sym) = UNDEF_DOMAIN;
   sym->set_linkage_name (obstack_strndup (&temp_parse_space, name, len));
-  SYMBOL_LANGUAGE (sym) = language_ada;
+  symbol_set_language (sym, language_ada, nullptr);
 
   write_exp_elt_opcode (par_state, OP_VAR_VALUE);
   write_exp_elt_block (par_state, block);
diff --git a/gdb/language.c b/gdb/language.c
index 6ab0ca323d..da6f7a860a 100644
--- a/gdb/language.c
+++ b/gdb/language.c
@@ -1051,7 +1051,7 @@  language_alloc_type_symbol (enum language lang, struct type *type)
   symbol = new (gdbarch_obstack (gdbarch)) struct symbol ();
 
   symbol->name = TYPE_NAME (type);
-  symbol->language = lang;
+  symbol->set_language (language, lang, nullptr);
   symbol->owner.arch = gdbarch;
   SYMBOL_OBJFILE_OWNED (symbol) = 0;
   SYMBOL_TYPE (symbol) = type;