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>
This commit is contained in:
Tom Tromey
2024-09-04 10:32:00 -06:00
parent d767b870c4
commit 6a4eb277b7
3 changed files with 7 additions and 2 deletions

View File

@@ -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 even in this case, some expensive name-based symbol searches are still
sometimes necessary - to find an XVZ variable, mostly. */ 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_clear_symbol_cache (program_space *pspace)
{ {
ada_pspace_data_handle.clear (pspace); ada_pspace_data_handle.clear (pspace);

View File

@@ -433,4 +433,8 @@ extern block_symbol ada_resolve_variable (struct symbol *sym,
extern struct type *ada_index_type (struct type *type, int n, extern struct type *ada_index_type (struct type *type, int n,
const char *name); const char *name);
/* Clear the Ada symbol cache. */
extern void ada_clear_symbol_cache (program_space *pspace);
#endif #endif

View File

@@ -1563,6 +1563,7 @@ symbol_cache_mark_not_found (struct block_symbol_cache *bsc,
static void static void
symbol_cache_flush (struct program_space *pspace) symbol_cache_flush (struct program_space *pspace)
{ {
ada_clear_symbol_cache (pspace);
struct symbol_cache *cache = symbol_cache_key.get (pspace); struct symbol_cache *cache = symbol_cache_key.get (pspace);
int pass; int pass;