I think there's a bug in cache invalidation, but my testcase isn't exposing it. That got me digging into the implementation of ada-lang.c's symbol lookup cache. It looks like nothing sets pspace_data->sym_cache. Presumably, it should be set here. static struct ada_symbol_cache * ada_get_symbol_cache (struct program_space *pspace) { struct ada_pspace_data *pspace_data = get_ada_pspace_data (pspace); struct ada_symbol_cache *sym_cache = pspace_data->sym_cache; if (sym_cache == NULL) { sym_cache = XCNEW (struct ada_symbol_cache); ada_init_symbol_cache (sym_cache); } return sym_cache; } Could be missing something though.
Bleah. Bugzilla was really slow tonight after I clicked "Submit" I got told the request timed out. So I refiled, but evidently even though it told me the request timed out this still got filed. Closing this as a dupe of PR 17854.
Closing as dupe of 17854. *** This bug has been marked as a duplicate of bug 17854 ***