public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] Replace symbol_symtab with symbol::symtab
@ 2022-04-20 16:28 Tom Tromey
  0 siblings, 0 replies; only message in thread
From: Tom Tromey @ 2022-04-20 16:28 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=4206d69e96ac401cf2975f37bf4e4d3a3c838313

commit 4206d69e96ac401cf2975f37bf4e4d3a3c838313
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Apr 17 20:00:59 2022 -0600

    Replace symbol_symtab with symbol::symtab
    
    This turns symbol_symtab into a method on symbol.  It also replaces
    symbol_set_symtab with a method.

Diff:
---
 gdb/ada-lang.c                      |  6 +++---
 gdb/btrace.c                        |  6 +++---
 gdb/buildsym.c                      | 12 ++++++------
 gdb/compile/compile-c-symbols.c     |  2 +-
 gdb/compile/compile-cplus-symbols.c |  2 +-
 gdb/compile/compile-cplus-types.c   |  4 ++--
 gdb/compile/compile-object-load.c   |  2 +-
 gdb/dwarf2/read.c                   | 12 ++++++------
 gdb/frame.c                         |  2 +-
 gdb/guile/scm-symbol.c              |  2 +-
 gdb/jit.c                           |  2 +-
 gdb/linespec.c                      | 18 +++++++++---------
 gdb/mdebugread.c                    |  2 +-
 gdb/mi/mi-symbol-cmds.c             |  8 ++++----
 gdb/python/py-symbol.c              |  6 +++---
 gdb/python/python.c                 |  2 +-
 gdb/record-btrace.c                 |  4 ++--
 gdb/source.c                        |  2 +-
 gdb/symtab.c                        | 34 +++++++++++++++++-----------------
 gdb/symtab.h                        | 24 ++++++++++++------------
 20 files changed, 76 insertions(+), 76 deletions(-)

diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index 96494538a60..bb9a16f8fe0 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -3681,7 +3681,7 @@ See set/show multiple-symbol."));
 	  struct symtab *symtab = NULL;
 
 	  if (syms[i].symbol->is_objfile_owned ())
-	    symtab = symbol_symtab (syms[i].symbol);
+	    symtab = syms[i].symbol->symtab ();
 
 	  if (syms[i].symbol->line () != 0 && symtab != NULL)
 	    {
@@ -4712,9 +4712,9 @@ cache_symbol (const char *name, domain_enum domain, struct symbol *sym,
      the symbol is local or not, we check the block where we found it
      against the global and static blocks of its associated symtab.  */
   if (sym
-      && BLOCKVECTOR_BLOCK (symbol_symtab (sym)->compunit ()->blockvector (),
+      && BLOCKVECTOR_BLOCK (sym->symtab ()->compunit ()->blockvector (),
 			    GLOBAL_BLOCK) != block
-      && BLOCKVECTOR_BLOCK (symbol_symtab (sym)->compunit ()->blockvector (),
+      && BLOCKVECTOR_BLOCK (sym->symtab ()->compunit ()->blockvector (),
 			    STATIC_BLOCK) != block)
     return;
 
diff --git a/gdb/btrace.c b/gdb/btrace.c
index b195b59a7c3..c4f0d4911ab 100644
--- a/gdb/btrace.c
+++ b/gdb/btrace.c
@@ -102,7 +102,7 @@ ftrace_print_filename (const struct btrace_function *bfun)
   sym = bfun->sym;
 
   if (sym != NULL)
-    filename = symtab_to_filename_for_display (symbol_symtab (sym));
+    filename = symtab_to_filename_for_display (sym->symtab ());
   else
     filename = "<unknown>";
 
@@ -210,8 +210,8 @@ ftrace_function_switched (const struct btrace_function *bfun,
 	return 1;
 
       /* Check the location of those functions, as well.  */
-      bfname = symtab_to_fullname (symbol_symtab (sym));
-      fname = symtab_to_fullname (symbol_symtab (fun));
+      bfname = symtab_to_fullname (sym->symtab ());
+      fname = symtab_to_fullname (fun->symtab ());
       if (filename_cmp (fname, bfname) != 0)
 	return 1;
     }
diff --git a/gdb/buildsym.c b/gdb/buildsym.c
index 628903d674f..927074b7669 100644
--- a/gdb/buildsym.c
+++ b/gdb/buildsym.c
@@ -1006,15 +1006,15 @@ buildsym_compunit::end_compunit_symtab_with_blockvector
 	/* Inlined functions may have symbols not in the global or
 	   static symbol lists.  */
 	if (BLOCK_FUNCTION (block) != NULL)
-	  if (symbol_symtab (BLOCK_FUNCTION (block)) == NULL)
-	    symbol_set_symtab (BLOCK_FUNCTION (block), symtab);
+	  if (BLOCK_FUNCTION (block)->symtab () == NULL)
+	    BLOCK_FUNCTION (block)->set_symtab (symtab);
 
 	/* Note that we only want to fix up symbols from the local
 	   blocks, not blocks coming from included symtabs.  That is why
 	   we use ALL_DICT_SYMBOLS here and not ALL_BLOCK_SYMBOLS.  */
 	ALL_DICT_SYMBOLS (BLOCK_MULTIDICT (block), miter, sym)
-	  if (symbol_symtab (sym) == NULL)
-	    symbol_set_symtab (sym, symtab);
+	  if (sym->symtab () == NULL)
+	    sym->set_symtab (symtab);
       }
   }
 
@@ -1114,8 +1114,8 @@ set_missing_symtab (struct pending *pending_list,
     {
       for (i = 0; i < pending->nsyms; ++i)
 	{
-	  if (symbol_symtab (pending->symbol[i]) == NULL)
-	    symbol_set_symtab (pending->symbol[i], cu->primary_filetab ());
+	  if (pending->symbol[i]->symtab () == NULL)
+	    pending->symbol[i]->set_symtab (cu->primary_filetab ());
 	}
     }
 }
diff --git a/gdb/compile/compile-c-symbols.c b/gdb/compile/compile-c-symbols.c
index 642c0be5db3..d49ecdab92f 100644
--- a/gdb/compile/compile-c-symbols.c
+++ b/gdb/compile/compile-c-symbols.c
@@ -57,7 +57,7 @@ convert_one_symbol (compile_c_instance *context,
 		    int is_local)
 {
   gcc_type sym_type;
-  const char *filename = symbol_symtab (sym.symbol)->filename;
+  const char *filename = sym.symbol->symtab ()->filename;
   unsigned short line = sym.symbol->line ();
 
   context->error_symbol_once (sym.symbol);
diff --git a/gdb/compile/compile-cplus-symbols.c b/gdb/compile/compile-cplus-symbols.c
index 7ad9ea91132..95d43507c30 100644
--- a/gdb/compile/compile-cplus-symbols.c
+++ b/gdb/compile/compile-cplus-symbols.c
@@ -48,7 +48,7 @@ convert_one_symbol (compile_cplus_instance *instance,
 {
   /* Squash compiler warning.  */
   gcc_type sym_type = 0;
-  const char *filename = symbol_symtab (sym.symbol)->filename;
+  const char *filename = sym.symbol->symtab ()->filename;
   unsigned short line = sym.symbol->line ();
 
   instance->error_symbol_once (sym.symbol);
diff --git a/gdb/compile/compile-cplus-types.c b/gdb/compile/compile-cplus-types.c
index cea30304aa2..ab65e47f49d 100644
--- a/gdb/compile/compile-cplus-types.c
+++ b/gdb/compile/compile-cplus-types.c
@@ -625,7 +625,7 @@ compile_cplus_convert_struct_or_union_members
 		       we can do but ignore this member.  */
 		    continue;
 		  }
-		const char *filename = symbol_symtab (sym.symbol)->filename;
+		const char *filename = sym.symbol->symtab ()->filename;
 		unsigned int line = sym.symbol->line ();
 
 		physaddr = sym.symbol->value_address ();
@@ -764,7 +764,7 @@ compile_cplus_convert_struct_or_union_methods (compile_cplus_instance *instance,
 	      continue;
 	    }
 
-	  const char *filename = symbol_symtab (sym.symbol)->filename;
+	  const char *filename = sym.symbol->symtab ()->filename;
 	  unsigned int line = sym.symbol->line ();
 	  CORE_ADDR address = BLOCK_START (sym.symbol->value_block ());
 	  const char *kind;
diff --git a/gdb/compile/compile-object-load.c b/gdb/compile/compile-object-load.c
index 7da02c07f9b..2303381b49a 100644
--- a/gdb/compile/compile-object-load.c
+++ b/gdb/compile/compile-object-load.c
@@ -421,7 +421,7 @@ get_out_value_type (struct symbol *func_sym, struct objfile *objfile,
   lookup_name_info func_matcher (GCC_FE_WRAPPER_FUNCTION,
 				 symbol_name_match_type::SEARCH_NAME);
 
-  bv = symbol_symtab (func_sym)->compunit ()->blockvector ();
+  bv = func_sym->symtab ()->compunit ()->blockvector ();
   nblocks = BLOCKVECTOR_NBLOCKS (bv);
 
   gdb_ptr_type_sym = NULL;
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index b7b372fcd73..bb72e0e4791 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -7810,9 +7810,9 @@ fixup_go_packaging (struct dwarf2_cu *cu)
 		  struct objfile *objfile = cu->per_objfile->objfile;
 		  if (strcmp (package_name.get (), this_package_name.get ()) != 0)
 		    complaint (_("Symtab %s has objects from two different Go packages: %s and %s"),
-			       (symbol_symtab (sym) != NULL
+			       (sym->symtab () != NULL
 				? symtab_to_filename_for_display
-				    (symbol_symtab (sym))
+				(sym->symtab ())
 				: objfile_name (objfile)),
 			       this_package_name.get (), package_name.get ());
 		}
@@ -12081,7 +12081,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
 	 of gdb assume that symbols do, and this is reasonably
 	 true.  */
       for (symbol *sym : template_args)
-	symbol_set_symtab (sym, symbol_symtab (templ_func));
+	sym->set_symtab (templ_func->symtab ());
     }
 
   /* In C++, we can have functions nested inside functions (e.g., when
@@ -14977,7 +14977,7 @@ process_structure_scope (struct die_info *die, struct dwarf2_cu *cu)
 	{
 	  struct symtab *symtab;
 	  if (sym != nullptr)
-	    symtab = symbol_symtab (sym);
+	    symtab = sym->symtab ();
 	  else if (cu->line_header != nullptr)
 	    {
 	      /* Any related symtab will do.  */
@@ -15001,7 +15001,7 @@ process_structure_scope (struct die_info *die, struct dwarf2_cu *cu)
 		 other parts of gdb assume that symbols do, and this is
 		 reasonably true.  */
 	      for (int i = 0; i < TYPE_N_TEMPLATE_ARGUMENTS (type); ++i)
-		symbol_set_symtab (TYPE_TEMPLATE_ARGUMENT (type, i), symtab);
+		TYPE_TEMPLATE_ARGUMENT (type, i)->set_symtab (symtab);
 	    }
 	}
     }
@@ -20667,7 +20667,7 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu,
 	  if (fe == NULL)
 	    complaint (_("file index out of range"));
 	  else
-	    symbol_set_symtab (sym, fe->symtab);
+	    sym->set_symtab (fe->symtab);
 	}
 
       switch (die->tag)
diff --git a/gdb/frame.c b/gdb/frame.c
index 2e574a2f009..5e3c02e2029 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -2701,7 +2701,7 @@ find_frame_sal (frame_info *frame)
       symtab_and_line sal;
       if (sym->line () != 0)
 	{
-	  sal.symtab = symbol_symtab (sym);
+	  sal.symtab = sym->symtab ();
 	  sal.line = sym->line ();
 	}
       else
diff --git a/gdb/guile/scm-symbol.c b/gdb/guile/scm-symbol.c
index 9e89b0458af..55eac3cfff6 100644
--- a/gdb/guile/scm-symbol.c
+++ b/gdb/guile/scm-symbol.c
@@ -364,7 +364,7 @@ gdbscm_symbol_symtab (SCM self)
 
   if (!symbol->is_objfile_owned ())
     return SCM_BOOL_F;
-  return stscm_scm_from_symtab (symbol_symtab (symbol));
+  return stscm_scm_from_symtab (symbol->symtab ());
 }
 
 /* (symbol-name <gdb:symbol>) -> string */
diff --git a/gdb/jit.c b/gdb/jit.c
index ae679a1f043..f7e25e494d4 100644
--- a/gdb/jit.c
+++ b/gdb/jit.c
@@ -589,7 +589,7 @@ finalize_symtab (struct gdb_symtab *stab, struct objfile *objfile)
       /* The name.  */
       block_name->set_domain (VAR_DOMAIN);
       block_name->set_aclass_index (LOC_BLOCK);
-      symbol_set_symtab (block_name, filetab);
+      block_name->set_symtab (filetab);
       block_name->set_type (lookup_function_type (block_type));
       block_name->set_value_block (new_block);
 
diff --git a/gdb/linespec.c b/gdb/linespec.c
index ba89bd09b56..61ad69dd882 100644
--- a/gdb/linespec.c
+++ b/gdb/linespec.c
@@ -2188,7 +2188,7 @@ convert_linespec_to_sals (struct linespec_state *state, linespec *ls)
       for (const auto &sym : ls->labels.label_symbols)
 	{
 	  struct program_space *pspace
-	    = symbol_symtab (sym.symbol)->compunit ()->objfile ()->pspace;
+	    = sym.symbol->symtab ()->compunit ()->objfile ()->pspace;
 
 	  if (symbol_to_sal (&sal, state->funfirstline, sym.symbol)
 	      && maybe_add_address (state->addr_set, pspace, sal.pc))
@@ -2210,7 +2210,7 @@ convert_linespec_to_sals (struct linespec_state *state, linespec *ls)
 	  for (const auto &sym : ls->function_symbols)
 	    {
 	      program_space *pspace
-		= symbol_symtab (sym.symbol)->compunit ()->objfile ()->pspace;
+		= sym.symbol->symtab ()->compunit ()->objfile ()->pspace;
 	      set_current_program_space (pspace);
 
 	      /* Don't skip to the first line of the function if we
@@ -3483,8 +3483,8 @@ compare_symbols (const block_symbol &a, const block_symbol &b)
 {
   uintptr_t uia, uib;
 
-  uia = (uintptr_t) symbol_symtab (a.symbol)->compunit ()->objfile ()->pspace;
-  uib = (uintptr_t) symbol_symtab (b.symbol)->compunit ()->objfile ()->pspace;
+  uia = (uintptr_t) a.symbol->symtab ()->compunit ()->objfile ()->pspace;
+  uib = (uintptr_t) b.symbol->symtab ()->compunit ()->objfile ()->pspace;
 
   if (uia < uib)
     return true;
@@ -3608,7 +3608,7 @@ find_method (struct linespec_state *self,
 
       /* Program spaces that are executing startup should have
 	 been filtered out earlier.  */
-      pspace = symbol_symtab (sym)->compunit ()->objfile ()->pspace;
+      pspace = sym->symtab ()->compunit ()->objfile ()->pspace;
       gdb_assert (!pspace->executing_startup);
       set_current_program_space (pspace);
       t = check_typedef (sym->type ());
@@ -3619,7 +3619,7 @@ find_method (struct linespec_state *self,
 	 sure not to miss the last batch.  */
       if (ix == sym_classes->size () - 1
 	  || (pspace
-	      != (symbol_symtab (sym_classes->at (ix + 1).symbol)
+	      != (sym_classes->at (ix + 1).symbol->symtab ()
 		  ->compunit ()->objfile ()->pspace)))
 	{
 	  /* If we did not find a direct implementation anywhere in
@@ -3985,7 +3985,7 @@ find_label_symbols (struct linespec_state *self,
 	{
 	  fn_sym = elt.symbol;
 	  set_current_program_space
-	    (symbol_symtab (fn_sym)->compunit ()->objfile ()->pspace);
+	    (fn_sym->symtab ()->compunit ()->objfile ()->pspace);
 	  block = fn_sym->value_block ();
 
 	  find_label_symbols_in_block (block, name, fn_sym, completion_mode,
@@ -4380,7 +4380,7 @@ symbol_to_sal (struct symtab_and_line *result,
       if (sym->aclass () == LOC_LABEL && sym->value_address () != 0)
 	{
 	  *result = {};
-	  result->symtab = symbol_symtab (sym);
+	  result->symtab = sym->symtab ();
 	  result->symbol = sym;
 	  result->line = sym->line ();
 	  result->pc = sym->value_address ();
@@ -4396,7 +4396,7 @@ symbol_to_sal (struct symtab_and_line *result,
 	{
 	  /* We know its line number.  */
 	  *result = {};
-	  result->symtab = symbol_symtab (sym);
+	  result->symtab = sym->symtab ();
 	  result->symbol = sym;
 	  result->line = sym->line ();
 	  result->pc = sym->value_address ();
diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c
index 6dcac13d2c5..7083beb01ed 100644
--- a/gdb/mdebugread.c
+++ b/gdb/mdebugread.c
@@ -4486,7 +4486,7 @@ mylookup_symbol (const char *name, const struct block *block,
 static void
 add_symbol (struct symbol *s, struct symtab *symtab, struct block *b)
 {
-  symbol_set_symtab (s, symtab);
+  s->set_symtab (symtab);
   mdict_add_symbol (BLOCK_MULTIDICT (b), s);
 }
 
diff --git a/gdb/mi/mi-symbol-cmds.c b/gdb/mi/mi-symbol-cmds.c
index 60321f76796..56e9c3f3ce0 100644
--- a/gdb/mi/mi-symbol-cmds.c
+++ b/gdb/mi/mi-symbol-cmds.c
@@ -132,7 +132,7 @@ mi_symbol_info (enum search_domain kind, const char *name_regexp,
       /* As long as we have debug symbols...  */
       while (i < symbols.size () && symbols[i].msymbol.minsym == nullptr)
 	{
-	  symtab *symtab = symbol_symtab (symbols[i].symbol);
+	  symtab *symtab = symbols[i].symbol->symtab ();
 	  ui_out_emit_tuple symtab_tuple_emitter (uiout, nullptr);
 
 	  uiout->field_string ("filename",
@@ -144,7 +144,7 @@ mi_symbol_info (enum search_domain kind, const char *name_regexp,
 	  /* As long as we have debug symbols from this symtab...  */
 	  for (; (i < symbols.size ()
 		  && symbols[i].msymbol.minsym == nullptr
-		  && symbol_symtab (symbols[i].symbol) == symtab);
+		  && symbols[i].symbol->symtab () == symtab);
 	       ++i)
 	    {
 	      symbol_search &s = symbols[i];
@@ -256,7 +256,7 @@ output_module_symbols_in_single_module_and_file
 
   /* The symbol for the first result, and the symtab in which it resides.  */
   const symbol *first_result_symbol = iter->second.symbol;
-  symtab *first_symbtab = symbol_symtab (first_result_symbol);
+  symtab *first_symbtab = first_result_symbol->symtab ();
 
   /* Formatted output.  */
   ui_out_emit_tuple current_file (uiout, nullptr);
@@ -269,7 +269,7 @@ output_module_symbols_in_single_module_and_file
      we change module, or we change symtab.  */
   for (; (iter != end
 	  && first_module_symbol == iter->first.symbol
-	  && first_symbtab == symbol_symtab (iter->second.symbol));
+	  && first_symbtab == iter->second.symbol->symtab ());
        ++iter)
     output_debug_symbol (uiout, kind, iter->second.symbol,
 			 iter->second.block);
diff --git a/gdb/python/py-symbol.c b/gdb/python/py-symbol.c
index 5d475504fe6..414a310da64 100644
--- a/gdb/python/py-symbol.c
+++ b/gdb/python/py-symbol.c
@@ -91,7 +91,7 @@ sympy_get_symtab (PyObject *self, void *closure)
   if (!symbol->is_objfile_owned ())
     Py_RETURN_NONE;
 
-  return symtab_to_symtab_object (symbol_symtab (symbol));
+  return symtab_to_symtab_object (symbol->symtab ());
 }
 
 static PyObject *
@@ -303,7 +303,7 @@ set_symbol (symbol_object *obj, struct symbol *symbol)
   obj->symbol = symbol;
   obj->prev = NULL;
   if (symbol->is_objfile_owned ()
-      && symbol_symtab (symbol) != NULL)
+      && symbol->symtab () != NULL)
     {
       struct objfile *objfile = symbol->objfile ();
 
@@ -349,7 +349,7 @@ sympy_dealloc (PyObject *obj)
     sym_obj->prev->next = sym_obj->next;
   else if (sym_obj->symbol != NULL
 	   && sym_obj->symbol->is_objfile_owned ()
-	   && symbol_symtab (sym_obj->symbol) != NULL)
+	   && sym_obj->symbol->symtab () != NULL)
     {
       set_objfile_data (sym_obj->symbol->objfile (),
 			sympy_objfile_data_key, sym_obj->next);
diff --git a/gdb/python/python.c b/gdb/python/python.c
index 7a9c8c1b66e..11aaa7ae778 100644
--- a/gdb/python/python.c
+++ b/gdb/python/python.c
@@ -831,7 +831,7 @@ gdbpy_rbreak (PyObject *self, PyObject *args, PyObject *kw)
 
       if (p.msymbol.minsym == NULL)
 	{
-	  struct symtab *symtab = symbol_symtab (p.symbol);
+	  struct symtab *symtab = p.symbol->symtab ();
 	  const char *fullname = symtab_to_fullname (symtab);
 
 	  symbol_name = fullname;
diff --git a/gdb/record-btrace.c b/gdb/record-btrace.c
index 1d5f839385c..373d82b8b99 100644
--- a/gdb/record-btrace.c
+++ b/gdb/record-btrace.c
@@ -1067,7 +1067,7 @@ btrace_compute_src_line_range (const struct btrace_function *bfun,
   if (sym == NULL)
     goto out;
 
-  symtab = symbol_symtab (sym);
+  symtab = sym->symtab ();
 
   for (const btrace_insn &insn : bfun->insn)
     {
@@ -1100,7 +1100,7 @@ btrace_call_history_src_line (struct ui_out *uiout,
     return;
 
   uiout->field_string ("file",
-		       symtab_to_filename_for_display (symbol_symtab (sym)),
+		       symtab_to_filename_for_display (sym->symtab ()),
 		       file_name_style.style ());
 
   btrace_compute_src_line_range (bfun, &begin, &end);
diff --git a/gdb/source.c b/gdb/source.c
index 9d9ff4bbc3e..8691113c729 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -329,7 +329,7 @@ select_source_symtab (struct symtab *s)
       if (sal.symtab == NULL)
 	/* We couldn't find the location of `main', possibly due to missing
 	   line number info, fall back to line 1 in the corresponding file.  */
-	loc->set (symbol_symtab (bsym.symbol), 1);
+	loc->set (bsym.symbol->symtab (), 1);
       else
 	loc->set (sal.symtab, std::max (sal.line - (lines_to_list - 1), 1));
       return;
diff --git a/gdb/symtab.c b/gdb/symtab.c
index d5d3877d90e..6926d1559b2 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -1803,7 +1803,7 @@ fixup_symbol_section (struct symbol *sym, struct objfile *objfile)
 
   /* We either have an OBJFILE, or we can get at it from the sym's
      symtab.  Anything else is a bug.  */
-  gdb_assert (objfile || symbol_symtab (sym));
+  gdb_assert (objfile || sym->symtab ());
 
   if (objfile == NULL)
     objfile = sym->objfile ();
@@ -3940,7 +3940,7 @@ skip_prologue_sal (struct symtab_and_line *sal)
      have proven the CU (Compilation Unit) supports it.  sal->SYMTAB does not
      have to be set by the caller so we use SYM instead.  */
   if (sym != NULL
-      && symbol_symtab (sym)->compunit ()->locations_valid ())
+      && sym->symtab ()->compunit ()->locations_valid ())
     force_skip = 0;
 
   saved_pc = pc;
@@ -4020,7 +4020,7 @@ skip_prologue_sal (struct symtab_and_line *sal)
      is aligned.  */
   if (!force_skip && sym && start_sal.symtab == NULL)
     {
-      pc = skip_prologue_using_lineinfo (pc, symbol_symtab (sym));
+      pc = skip_prologue_using_lineinfo (pc, sym->symtab ());
       /* Recalculate the line number.  */
       start_sal = find_pc_sect_line (pc, section, 0);
     }
@@ -4052,7 +4052,7 @@ skip_prologue_sal (struct symtab_and_line *sal)
       && BLOCK_FUNCTION (function_block)->line () != 0)
     {
       sal->line = BLOCK_FUNCTION (function_block)->line ();
-      sal->symtab = symbol_symtab (BLOCK_FUNCTION (function_block));
+      sal->symtab = BLOCK_FUNCTION (function_block)->symtab ();
     }
 }
 
@@ -4692,8 +4692,8 @@ symbol_search::compare_search_syms (const symbol_search &sym_a,
 {
   int c;
 
-  c = FILENAME_CMP (symbol_symtab (sym_a.symbol)->filename,
-		    symbol_symtab (sym_b.symbol)->filename);
+  c = FILENAME_CMP (sym_a.symbol->symtab ()->filename,
+		    sym_b.symbol->symtab ()->filename);
   if (c != 0)
     return c;
 
@@ -4873,7 +4873,7 @@ global_symbol_searcher::add_matching_symbols
 
 	  ALL_BLOCK_SYMBOLS (b, iter, sym)
 	    {
-	      struct symtab *real_symtab = symbol_symtab (sym);
+	      struct symtab *real_symtab = sym->symtab ();
 
 	      QUIT;
 
@@ -5146,7 +5146,7 @@ print_symbol_info (enum search_domain kind,
 		   int block, const char *last)
 {
   scoped_switch_to_sym_language_if_auto l (sym);
-  struct symtab *s = symbol_symtab (sym);
+  struct symtab *s = sym->symtab ();
 
   if (last != NULL)
     {
@@ -5266,7 +5266,7 @@ symtab_symbol_info (bool quiet, bool exclude_minsyms,
 			     p.block,
 			     last_filename);
 	  last_filename
-	    = symtab_to_filename_for_display (symbol_symtab (p.symbol));
+	    = symtab_to_filename_for_display (p.symbol->symtab ());
 	}
     }
 }
@@ -5486,7 +5486,7 @@ rbreak_command (const char *regexp, int from_tty)
     {
       if (p.msymbol.minsym == NULL)
 	{
-	  struct symtab *symtab = symbol_symtab (p.symbol);
+	  struct symtab *symtab = p.symbol->symtab ();
 	  const char *fullname = symtab_to_fullname (symtab);
 
 	  string = string_printf ("%s:'%s'", fullname,
@@ -6612,19 +6612,19 @@ symbol::arch () const
 /* See symtab.h.  */
 
 struct symtab *
-symbol_symtab (const struct symbol *symbol)
+symbol::symtab () const
 {
-  gdb_assert (symbol->is_objfile_owned ());
-  return symbol->owner.symtab;
+  gdb_assert (is_objfile_owned ());
+  return owner.symtab;
 }
 
 /* See symtab.h.  */
 
 void
-symbol_set_symtab (struct symbol *symbol, struct symtab *symtab)
+symbol::set_symtab (struct symtab *symtab)
 {
-  gdb_assert (symbol->is_objfile_owned ());
-  symbol->owner.symtab = symtab;
+  gdb_assert (is_objfile_owned ());
+  owner.symtab = symtab;
 }
 
 /* See symtab.h.  */
@@ -6870,7 +6870,7 @@ info_module_subcommand (bool quiet, const char *module_regexp,
       print_symbol_info (FUNCTIONS_DOMAIN, q.symbol, q.block,
 			 last_filename);
       last_filename
-	= symtab_to_filename_for_display (symbol_symtab (q.symbol));
+	= symtab_to_filename_for_display (q.symbol->symtab ());
     }
 }
 
diff --git a/gdb/symtab.h b/gdb/symtab.h
index a773fccf50f..40283350cbe 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -1386,6 +1386,18 @@ struct symbol : public general_symbol_info, public allocate_on_obstack
 
   struct gdbarch *arch () const;
 
+  /* Return the symtab of this symbol.  It is an error to call this if
+     is_objfile_owned is false, which only happens for
+     architecture-provided types.  */
+
+  struct symtab *symtab () const;
+
+  /* Set the symtab of this symbol to SYMTAB.  It is an error to call
+     this if is_objfile_owned is false, which only happens for
+     architecture-provided types.  */
+
+  void set_symtab (struct symtab *symtab);
+
   /* Data type of value */
 
   struct type *m_type = nullptr;
@@ -1502,18 +1514,6 @@ extern int register_symbol_block_impl (enum address_class aclass,
 extern int register_symbol_register_impl (enum address_class,
 					  const struct symbol_register_ops *);
 
-/* Return the SYMTAB of SYMBOL.
-   It is an error to call this if symbol.is_objfile_owned is false, which
-   only happens for architecture-provided types.  */
-
-extern struct symtab *symbol_symtab (const struct symbol *symbol);
-
-/* Set the symtab of SYMBOL to SYMTAB.
-   It is an error to call this if symbol.is_objfile_owned is false, which
-   only happens for architecture-provided types.  */
-
-extern void symbol_set_symtab (struct symbol *symbol, struct symtab *symtab);
-
 /* An instance of this type is used to represent a C++ template
    function.  A symbol is really of this type iff
    symbol::is_cplus_template_function is true.  */


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-04-20 16:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-20 16:28 [binutils-gdb] Replace symbol_symtab with symbol::symtab Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).