diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/dwarf2read.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 0221554..bff1141 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2014-10-25 Doug Evans <xdje42@gmail.com> + + * dwarf2read.c (process_structure_scope): Remove second (nested) copy + of local var child_die. + 2014-10-24 Don Breazeal <donb@codesourcery.com> * infrun.c (follow_fork_inferior): Update fork message printing diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index eccd11a..3f2a127 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -13016,7 +13016,7 @@ static void process_structure_scope (struct die_info *die, struct dwarf2_cu *cu) { struct objfile *objfile = cu->objfile; - struct die_info *child_die = die->child; + struct die_info *child_die; struct type *type; type = get_die_type (die, cu); @@ -13026,7 +13026,6 @@ process_structure_scope (struct die_info *die, struct dwarf2_cu *cu) if (die->child != NULL && ! die_is_declaration (die, cu)) { struct field_info fi; - struct die_info *child_die; VEC (symbolp) *template_args = NULL; struct cleanup *back_to = make_cleanup (null_cleanup, 0); @@ -13197,6 +13196,8 @@ process_structure_scope (struct die_info *die, struct dwarf2_cu *cu) current die is a declaration. Normally, of course, a declaration won't have any children at all. */ + child_die = die->child; + while (child_die != NULL && child_die->tag) { if (child_die->tag == DW_TAG_member |