aboutsummaryrefslogtreecommitdiff
path: root/gdb/symtab.c
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>1999-10-19 02:47:02 +0000
committerJason Molenda <jmolenda@apple.com>1999-10-19 02:47:02 +0000
commit917317f4c6550f3f3e0001d0a9e5a6acd6a2d1be (patch)
tree3ecc5a5d86fef50ae8715adacf956a2011797441 /gdb/symtab.c
parent446a06c9b8819b20be7704f0b540471d76959c66 (diff)
downloadgdb-917317f4c6550f3f3e0001d0a9e5a6acd6a2d1be.zip
gdb-917317f4c6550f3f3e0001d0a9e5a6acd6a2d1be.tar.gz
gdb-917317f4c6550f3f3e0001d0a9e5a6acd6a2d1be.tar.bz2
import gdb-1999-10-18 snapshot
Diffstat (limited to 'gdb/symtab.c')
-rw-r--r--gdb/symtab.c35
1 files changed, 9 insertions, 26 deletions
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 36a4051..92af60a 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -4413,7 +4413,10 @@ overload_list_add_symbol (sym, oload_name)
/* skip symbols that cannot match */
if (strcmp (sym_name, oload_name) != 0)
- return;
+ {
+ free (sym_name);
+ return;
+ }
/* If there is no type information, we can't do anything, so skip */
if (SYMBOL_TYPE (sym) == NULL)
@@ -4475,18 +4478,8 @@ make_symbol_overload_list (fsym)
sym_return_val = (struct symbol **) xmalloc ((sym_return_val_size + 1) * sizeof (struct symbol *));
sym_return_val[0] = NULL;
- /* Comment and #if 0 from Rajiv Mirani <mirani@cup.hp.com>.
- However, leaving #if 0's around is uncool. We need to figure out
- what this is really trying to do, decide whether we want that,
- and either fix it or delete it. --- Jim Blandy, Mar 1999 */
-
- /* ??? RM: What in hell is this? overload_list_add_symbol expects a symbol,
- * not a partial_symbol or a minimal_symbol. And it looks at the type field
- * of the symbol, and we don't know the type of minimal and partial symbols
- */
-#if 0
/* Look through the partial symtabs for all symbols which begin
- by matching OLOAD_NAME. Add each one that you find to the list. */
+ by matching OLOAD_NAME. Make sure we read that symbol table in. */
ALL_PSYMTABS (objfile, ps)
{
@@ -4504,7 +4497,8 @@ make_symbol_overload_list (fsym)
{
/* If interrupted, then quit. */
QUIT;
- overload_list_add_symbol (*psym, oload_name);
+ /* This will cause the symbol table to be read if it has not yet been */
+ s = PSYMTAB_TO_SYMTAB (ps);
}
for (psym = objfile->static_psymbols.list + ps->statics_offset;
@@ -4513,22 +4507,11 @@ make_symbol_overload_list (fsym)
psym++)
{
QUIT;
- overload_list_add_symbol (*psym, oload_name);
+ /* This will cause the symbol table to be read if it has not yet been */
+ s = PSYMTAB_TO_SYMTAB (ps);
}
}
- /* At this point scan through the misc symbol vectors and add each
- symbol you find to the list. Eventually we want to ignore
- anything that isn't a text symbol (everything else will be
- handled by the psymtab code above). */
-
- ALL_MSYMBOLS (objfile, msymbol)
- {
- QUIT;
- overload_list_add_symbol (msymbol, oload_name);
- }
-#endif
-
/* Search upwards from currently selected frame (so that we can
complete on local vars. */