LABEL_DOMAIN
} domain_enum;
-/* Searching domains, used for `search_symbols'. */
+/* Searching domains, used for `search_symbols'. Element numbers are
+ hardcoded in GDB, check all enum uses before changing it. */
enum search_domain
{
/* Everything in VAR_DOMAIN minus FUNCTIONS_DOMAIN and
TYPES_DOMAIN. */
- VARIABLES_DOMAIN,
+ VARIABLES_DOMAIN = 0,
/* All functions -- for some reason not methods, though. */
- FUNCTIONS_DOMAIN,
+ FUNCTIONS_DOMAIN = 1,
/* All defined types */
- TYPES_DOMAIN
+ TYPES_DOMAIN = 2,
};
/* An address-class says where to find the value of a symbol. */
char *dirname;
- /* This component says how to free the data we point to:
- free_nothing => do nothing; some other symtab will free
- the data this one uses.
- free_linetable => free just the linetable. FIXME: Is this redundant
- with the primary field? */
-
- enum free_code
- {
- free_nothing, free_linetable
- }
- free_code;
-
- /* A function to call to free space, if necessary. This is IN
- ADDITION to the action indicated by free_code. */
-
- void (*free_func)(struct symtab *symtab);
-
/* Total number of lines found in source file. */
int nlines;
extern unsigned int msymbol_hash (const char *);
+/* Compute the next hash value from previous HASH and the character C. This
+ is only a GDB in-memory computed value with no external files compatibility
+ requirements. */
+
+#define SYMBOL_HASH_NEXT(hash, c) ((hash) * 67 + (c) - 113)
+
extern struct objfile * msymbol_objfile (struct minimal_symbol *sym);
extern void
void maintenance_print_statistics (char *, int);
-extern void free_symtab (struct symtab *);
-
/* Symbol-reading stuff in symfile.c and solib.c. */
extern void clear_solib (void);
extern void print_source_lines (struct symtab *, int, int, int);
+extern void forget_cached_source_info_for_objfile (struct objfile *);
extern void forget_cached_source_info (void);
extern void select_source_symtab (struct symtab *);