From e04510d64f511214faefa919ad8c9a42159419aa Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Thu, 16 Apr 2009 17:21:06 +0000 Subject: [PATCH] * ada-lang.c (symtab_for_sym): Delete. (user_select_syms): Use sym->symtab instead of calling symtab_for_sym. --- gdb/ChangeLog | 5 +++++ gdb/ada-lang.c | 61 +--------------------------------------------------------- 2 files changed, 6 insertions(+), 60 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ccbdfea4f..3e20aa84e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2009-04-16 Joel Brobecker + * ada-lang.c (symtab_for_sym): Delete. + (user_select_syms): Use sym->symtab instead of calling symtab_for_sym. + +2009-04-16 Joel Brobecker + * ada-lang.c (extract_string): Delete. (ada_main_name): Reimplement using target_read_string instead of extract_string. diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 814a793e3..09d689771 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -126,8 +126,6 @@ static struct partial_symbol *ada_lookup_partial_symbol (struct partial_symtab *, const char *, int, domain_enum, int); -static struct symtab *symtab_for_sym (struct symbol *); - static struct value *resolve_subexp (struct expression **, int *, int, struct type *); @@ -3281,7 +3279,7 @@ See set/show multiple-symbol.")); (SYMBOL_CLASS (syms[i].sym) == LOC_CONST && SYMBOL_TYPE (syms[i].sym) != NULL && TYPE_CODE (SYMBOL_TYPE (syms[i].sym)) == TYPE_CODE_ENUM); - struct symtab *symtab = symtab_for_sym (syms[i].sym); + struct symtab *symtab = syms[i].sym->symtab; if (SYMBOL_LINE (syms[i].sym) != 0 && symtab != NULL) printf_unfiltered (_("[%d] %s at %s:%d\n"), @@ -4200,63 +4198,6 @@ ada_lookup_partial_symbol (struct partial_symtab *pst, const char *name, return NULL; } -/* Find a symbol table containing symbol SYM or NULL if none. */ - -static struct symtab * -symtab_for_sym (struct symbol *sym) -{ - struct symtab *s; - struct objfile *objfile; - struct block *b; - struct symbol *tmp_sym; - struct dict_iterator iter; - int j; - - ALL_PRIMARY_SYMTABS (objfile, s) - { - switch (SYMBOL_CLASS (sym)) - { - case LOC_CONST: - case LOC_STATIC: - case LOC_TYPEDEF: - case LOC_REGISTER: - case LOC_LABEL: - case LOC_BLOCK: - case LOC_CONST_BYTES: - b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), GLOBAL_BLOCK); - ALL_BLOCK_SYMBOLS (b, iter, tmp_sym) if (sym == tmp_sym) - return s; - b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), STATIC_BLOCK); - ALL_BLOCK_SYMBOLS (b, iter, tmp_sym) if (sym == tmp_sym) - return s; - break; - default: - break; - } - switch (SYMBOL_CLASS (sym)) - { - case LOC_REGISTER: - case LOC_ARG: - case LOC_REF_ARG: - case LOC_REGPARM_ADDR: - case LOC_LOCAL: - case LOC_TYPEDEF: - case LOC_COMPUTED: - for (j = FIRST_LOCAL_BLOCK; - j < BLOCKVECTOR_NBLOCKS (BLOCKVECTOR (s)); j += 1) - { - b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), j); - ALL_BLOCK_SYMBOLS (b, iter, tmp_sym) if (sym == tmp_sym) - return s; - } - break; - default: - break; - } - } - return NULL; -} - /* Return a minimal symbol matching NAME according to Ada decoding rules. Returns NULL if there is no such minimal symbol. Names prefixed with "standard__" are handled specially: "standard__" is -- 2.11.4.GIT