diff options
author | Tom Tromey <tromey@adacore.com> | 2024-06-05 09:06:30 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2024-06-24 09:11:30 -0600 |
commit | f59be2ed3946b69a969c65dd7093b4e865bba003 (patch) | |
tree | 35da0da91ac3d4e01849b3e57572cfac60628db9 /gdb | |
parent | 440897605540c0703c29a84450ab3e5eccda91bd (diff) | |
download | binutils-f59be2ed3946b69a969c65dd7093b4e865bba003.zip binutils-f59be2ed3946b69a969c65dd7093b4e865bba003.tar.gz binutils-f59be2ed3946b69a969c65dd7093b4e865bba003.tar.bz2 |
Add compunit_symtab::forget_cached_source_info
It seemed cleaner to me for compunit_symtab to have a
forget_cached_source_info method, then for the objfile to know how to
do this.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/symfile-debug.c | 5 | ||||
-rw-r--r-- | gdb/symtab.c | 9 | ||||
-rw-r--r-- | gdb/symtab.h | 3 |
3 files changed, 13 insertions, 4 deletions
diff --git a/gdb/symfile-debug.c b/gdb/symfile-debug.c index 3912889..3a223d0 100644 --- a/gdb/symfile-debug.c +++ b/gdb/symfile-debug.c @@ -154,10 +154,7 @@ objfile::forget_cached_source_info () objfile_debug_name (this)); for (compunit_symtab *cu : compunits ()) - { - for (symtab *s : cu->filetabs ()) - s->release_fullname (); - } + cu->forget_cached_source_info (); for (const auto &iter : qf) iter->forget_cached_source_info (this); diff --git a/gdb/symtab.c b/gdb/symtab.c index 4888ebc..39a6915 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -485,6 +485,15 @@ compunit_symtab::language () const return symtab->language (); } +/* See symtab.h. */ + +void +compunit_symtab::forget_cached_source_info () +{ + for (symtab *s : filetabs ()) + s->release_fullname (); +} + /* The relocated address of the minimal symbol, using the section offsets from OBJFILE. */ diff --git a/gdb/symtab.h b/gdb/symtab.h index 19bb697..d0b599f 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -1965,6 +1965,9 @@ struct compunit_symtab /* Return the language of this compunit_symtab. */ enum language language () const; + /* Clear any cached source file names. */ + void forget_cached_source_info (); + /* Unordered chain of all compunit symtabs of this objfile. */ struct compunit_symtab *next; |