public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] Merge forget_cached_source_info_for_objfile into objfile method
@ 2023-03-07 21:57 Tom Tromey
  0 siblings, 0 replies; only message in thread
From: Tom Tromey @ 2023-03-07 21:57 UTC (permalink / raw)
  To: gdb-cvs

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

commit 21f6be77b97e1d606881966fd4e407fde459a639
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Feb 21 15:03:38 2023 -0700

    Merge forget_cached_source_info_for_objfile into objfile method
    
    forget_cached_source_info_for_objfile does some objfile-specific work
    and then calls objfile::forget_cached_source_info.  It seems better to
    me to just have the method do all the work.

Diff:
---
 gdb/objfiles.c      |  2 +-
 gdb/source.c        | 24 +-----------------------
 gdb/source.h        |  4 ----
 gdb/symfile-debug.c | 12 ++++++++++++
 4 files changed, 14 insertions(+), 28 deletions(-)

diff --git a/gdb/objfiles.c b/gdb/objfiles.c
index ed29131d528..8e7be8e2e25 100644
--- a/gdb/objfiles.c
+++ b/gdb/objfiles.c
@@ -534,7 +534,7 @@ objfile::~objfile ()
 
   /* It still may reference data modules have associated with the objfile and
      the symbol file data.  */
-  forget_cached_source_info_for_objfile (this);
+  forget_cached_source_info ();
 
   breakpoint_free_objfile (this);
   btrace_free_objfile (this);
diff --git a/gdb/source.c b/gdb/source.c
index ca0e8d51fbd..faf0be6fe5a 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -420,34 +420,12 @@ show_directories_command (struct ui_file *file, int from_tty,
 
 /* See source.h.  */
 
-void
-forget_cached_source_info_for_objfile (struct objfile *objfile)
-{
-  for (compunit_symtab *cu : objfile->compunits ())
-    {
-      for (symtab *s : cu->filetabs ())
-	{
-	  if (s->fullname != NULL)
-	    {
-	      xfree (s->fullname);
-	      s->fullname = NULL;
-	    }
-	}
-    }
-
-  objfile->forget_cached_source_info ();
-}
-
-/* See source.h.  */
-
 void
 forget_cached_source_info (void)
 {
   for (struct program_space *pspace : program_spaces)
     for (objfile *objfile : pspace->objfiles ())
-      {
-	forget_cached_source_info_for_objfile (objfile);
-      }
+      objfile->forget_cached_source_info ();
 
   g_source_cache.clear ();
   last_source_visited = NULL;
diff --git a/gdb/source.h b/gdb/source.h
index dd6f58c579c..d3e612ceaa1 100644
--- a/gdb/source.h
+++ b/gdb/source.h
@@ -197,10 +197,6 @@ private:
 extern void print_source_lines (struct symtab *s, source_lines_range r,
 				print_source_lines_flags flags);
 
-/* Forget line positions and file names for the symtabs in a
-   particular objfile.  */
-extern void forget_cached_source_info_for_objfile (struct objfile *);
-
 /* Forget what we learned about line positions in source files, and
    which directories contain them; must check again now since files
    may be found in a different directory now.  */
diff --git a/gdb/symfile-debug.c b/gdb/symfile-debug.c
index efc6bcdf2bd..9db5c47a8ce 100644
--- a/gdb/symfile-debug.c
+++ b/gdb/symfile-debug.c
@@ -155,6 +155,18 @@ objfile::forget_cached_source_info ()
     gdb_printf (gdb_stdlog, "qf->forget_cached_source_info (%s)\n",
 		objfile_debug_name (this));
 
+  for (compunit_symtab *cu : compunits ())
+    {
+      for (symtab *s : cu->filetabs ())
+	{
+	  if (s->fullname != NULL)
+	    {
+	      xfree (s->fullname);
+	      s->fullname = NULL;
+	    }
+	}
+    }
+
   for (const auto &iter : qf_require_partial_symbols ())
     iter->forget_cached_source_info (this);
 }

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

only message in thread, other threads:[~2023-03-07 21:57 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-07 21:57 [binutils-gdb] Merge forget_cached_source_info_for_objfile into objfile method 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).