summaryrefslogtreecommitdiff
path: root/gdb/dwarf2read.c
diff options
context:
space:
mode:
authorJim Blandy <jimb@codesourcery.com>2002-11-08 20:05:10 +0000
committerJim Blandy <jimb@codesourcery.com>2002-11-08 20:05:10 +0000
commitba5773c40e14732f263f8bf9f141c9ad293c3a0c (patch)
tree942c4cdfa607c4c0ea6e4eb449c796fb9a69f2e9 /gdb/dwarf2read.c
parentcd08282f32fee351a0c0895eb8b25855b0c81532 (diff)
downloadgdb-ba5773c40e14732f263f8bf9f141c9ad293c3a0c.tar.gz
* dwarf2read.c (read_func_scope): Restore list_in_scope properly
when we finish a function a context. * buildsym.h (outermost_context_p): New macro. (Bug analyzed by David Edelsohn.)
Diffstat (limited to 'gdb/dwarf2read.c')
-rw-r--r--gdb/dwarf2read.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 7e017c6dfc0..13ddaea6530 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -2021,7 +2021,10 @@ read_func_scope (struct die_info *die, struct objfile *objfile,
local_symbols = new->locals;
param_symbols = new->params;
- list_in_scope = &file_symbols;
+ /* If we've finished processing a top-level function, subsequent
+ symbols go in the file symbol list. */
+ if (outermost_context_p ())
+ list_in_scope = &file_symbols;
}
/* Process all the DIES contained within a lexical block scope. Start