* mdebugread.c (psymtab_to_symtab_1): Copy linetable to obstack.

(new_symtab): Don't set `free_code' on symtab.
	(new_linetable): Properly handle size==0.
	* symtab.h (struct symtab) <free_code, free_func>: Remove.
	* symmisc.c (free_symtab): Don't free the linetable.  Don't call
	free_func.
	* jv-lang.c (struct jv_per_objfile_data): New.
	(jv_per_objfile_free): Free the data.
	(get_dynamics_objfile): Allocate a jv_per_objfile_data.
	(get_java_class_symtab): Set the `dict' field on the
	jv_per_objfile_data.
	(free_class_block): Remove.
	* buildsym.c (end_symtab): Don't set `free_code' or `free_func' on
	the symtab.
This commit is contained in:
Tom Tromey
2011-04-04 15:11:19 +00:00
parent 0c2e60193c
commit 30cc903e7c
6 changed files with 57 additions and 73 deletions

View File

@@ -781,23 +781,6 @@ struct symtab
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;