diff options
author | Tom Tromey <tromey@adacore.com> | 2024-09-04 10:32:00 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2024-09-06 11:08:41 -0600 |
commit | 6a4eb277b788df94f8b8e6f3e38d6a7c97c2452f (patch) | |
tree | 1c0f82cc28cca70ad76c1a25c0a18367c859c017 | |
parent | d767b870c4f1ba74e5ba6753f1299df3edeefab2 (diff) | |
download | gdb-6a4eb277b788df94f8b8e6f3e38d6a7c97c2452f.zip gdb-6a4eb277b788df94f8b8e6f3e38d6a7c97c2452f.tar.gz gdb-6a4eb277b788df94f8b8e6f3e38d6a7c97c2452f.tar.bz2 |
Clear Ada symbol cache
This patch changes "maint flush symbol-cache" to also flush the
Ada-specific symbol cache. This can be helpful when working on the
Ada code.
Approved-By: Tom de Vries <tdevries@suse.de>
-rw-r--r-- | gdb/ada-lang.c | 4 | ||||
-rw-r--r-- | gdb/ada-lang.h | 4 | ||||
-rw-r--r-- | gdb/symtab.c | 1 |
3 files changed, 7 insertions, 2 deletions
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index d77fa3c..51112a1 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -4690,9 +4690,9 @@ make_array_descriptor (struct type *type, struct value *arr) even in this case, some expensive name-based symbol searches are still sometimes necessary - to find an XVZ variable, mostly. */ -/* Clear all entries from the symbol cache. */ +/* See ada-lang.h. */ -static void +void ada_clear_symbol_cache (program_space *pspace) { ada_pspace_data_handle.clear (pspace); diff --git a/gdb/ada-lang.h b/gdb/ada-lang.h index 77193ef..050d298 100644 --- a/gdb/ada-lang.h +++ b/gdb/ada-lang.h @@ -433,4 +433,8 @@ extern block_symbol ada_resolve_variable (struct symbol *sym, extern struct type *ada_index_type (struct type *type, int n, const char *name); +/* Clear the Ada symbol cache. */ + +extern void ada_clear_symbol_cache (program_space *pspace); + #endif diff --git a/gdb/symtab.c b/gdb/symtab.c index ce5e252..b955cc8 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -1563,6 +1563,7 @@ symbol_cache_mark_not_found (struct block_symbol_cache *bsc, static void symbol_cache_flush (struct program_space *pspace) { + ada_clear_symbol_cache (pspace); struct symbol_cache *cache = symbol_cache_key.get (pspace); int pass; |