diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/symmisc.c | 47 | ||||
-rw-r--r-- | gdb/symtab.h | 3 |
3 files changed, 11 insertions, 45 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index afb81e1..5c30714 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2008-04-03 Doug Evans <dje@sebabeach.org> + + * symtab.h (enum free_code): Delete free_contents, unused. + * symmisc.c (free_symtab_block): Delete. + (free_symtab, case free_code): Delete. + 2008-04-01 Aleksandar Ristovski <aristovski@qnx.com> * valops.c (value_cast_structs): New function. Cast related diff --git a/gdb/symmisc.c b/gdb/symmisc.c index 0797d59..bb5f6e3 100644 --- a/gdb/symmisc.c +++ b/gdb/symmisc.c @@ -70,8 +70,6 @@ static int block_depth (struct block *); static void print_partial_symbols (struct partial_symbol **, int, char *, struct ui_file *); -static void free_symtab_block (struct objfile *, struct block *); - void _initialize_symmisc (void); struct print_symbol_args @@ -82,37 +80,12 @@ struct print_symbol_args }; static int print_symbol (void *); - -static void free_symtab_block (struct objfile *, struct block *); - -/* Free a struct block <- B and all the symbols defined in that block. */ - -/* FIXME: carlton/2003-04-28: I don't believe this is currently ever - used. */ - -static void -free_symtab_block (struct objfile *objfile, struct block *b) -{ - struct dict_iterator iter; - struct symbol *sym; - - ALL_BLOCK_SYMBOLS (b, iter, sym) - { - xfree (DEPRECATED_SYMBOL_NAME (sym)); - xfree (sym); - } - - dict_free (BLOCK_DICT (b)); - xfree (b); -} - /* Free all the storage associated with the struct symtab <- S. - Note that some symtabs have contents malloc'ed structure by structure, - while some have contents that all live inside one big block of memory, - and some share the contents of another symbol table and so you should - not free the contents on their behalf (except sometimes the linetable, - which maybe per symtab even when the rest is not). + Note that some symtabs have contents that all live inside one big block of + memory, and some share the contents of another symbol table and so you + should not free the contents on their behalf (except sometimes the + linetable, which maybe per symtab even when the rest is not). It is s->free_code that says which alternative to use. */ void @@ -129,18 +102,6 @@ free_symtab (struct symtab *s) Therefore, do nothing. */ break; - case free_contents: - /* Here all the contents were malloc'ed structure by structure - and must be freed that way. */ - /* First free the blocks (and their symbols. */ - bv = BLOCKVECTOR (s); - n = BLOCKVECTOR_NBLOCKS (bv); - for (i = 0; i < n; i++) - free_symtab_block (s->objfile, BLOCKVECTOR_BLOCK (bv, i)); - /* Free the blockvector itself. */ - xfree (bv); - /* Also free the linetable. */ - case free_linetable: /* Everything will be freed either by our `free_func' or by some other symtab, except for our linetable. diff --git a/gdb/symtab.h b/gdb/symtab.h index c19e741..9fec2e7 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -809,7 +809,6 @@ struct symtab char *dirname; /* This component says how to free the data we point to: - free_contents => do a tree walk and free each object. free_nothing => do nothing; some other symtab will free the data this one uses. free_linetable => free just the linetable. FIXME: Is this redundant @@ -817,7 +816,7 @@ struct symtab enum free_code { - free_nothing, free_contents, free_linetable + free_nothing, free_linetable } free_code; |