* dwarf2read.c (read_func_scope): Restore local_symbols and

param_symbols after we finish the function context.  (Based on a
patch from David Edelsohn.)
This commit is contained in:
Jim Blandy 2002-11-08 19:33:37 +00:00
parent 413dad4d0e
commit 208d818701
2 changed files with 14 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2002-11-08 Jim Blandy <jimb@redhat.com>
* dwarf2read.c (read_func_scope): Restore local_symbols and
param_symbols after we finish the function context. (Based on a
patch from David Edelsohn.)
2002-11-08 David Carlton <carlton@math.stanford.edu>
* linespec.c (symbol_found): New function.

View File

@ -2013,6 +2013,14 @@ read_func_scope (struct die_info *die, struct objfile *objfile,
/* Make a block for the local symbols within. */
finish_block (new->name, &local_symbols, new->old_blocks,
lowpc, highpc, objfile);
/* In C++, we can have functions nested inside functions (e.g., when
a function declares a class that has methods). This means that
when we finish processing a function scope, we may need to go
back to building a containing block's symbol lists. */
local_symbols = new->locals;
param_symbols = new->params;
list_in_scope = &file_symbols;
}