diff options
author | Cary Coutant <ccoutant@google.com> | 2009-11-09 21:39:40 +0000 |
---|---|---|
committer | Cary Coutant <ccoutant@google.com> | 2009-11-09 21:39:40 +0000 |
commit | de4affc9ce437b80590f9551fd60d93a16a16e71 (patch) | |
tree | e10a0c6a669882e410e38630e5ddec9a4d954c63 /gdb/dwarf2read.c | |
parent | 86c6265d62c78d255c648eb33242ed74ec58772d (diff) | |
download | gdb-de4affc9ce437b80590f9551fd60d93a16a16e71.zip gdb-de4affc9ce437b80590f9551fd60d93a16a16e71.tar.gz gdb-de4affc9ce437b80590f9551fd60d93a16a16e71.tar.bz2 |
* dwarf2read.c (read_import_statement): Don't clobber original cu.
Diffstat (limited to 'gdb/dwarf2read.c')
-rw-r--r-- | gdb/dwarf2read.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index b3bb899..5c9f3b8 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -3372,6 +3372,7 @@ read_import_statement (struct die_info *die, struct dwarf2_cu *cu) { struct attribute *import_attr; struct die_info *imported_die; + struct dwarf2_cu *imported_cu; const char *imported_name; const char *imported_name_prefix; const char *import_prefix; @@ -3385,8 +3386,9 @@ read_import_statement (struct die_info *die, struct dwarf2_cu *cu) return; } - imported_die = follow_die_ref_or_sig (die, import_attr, &cu); - imported_name = dwarf2_name (imported_die, cu); + imported_cu = cu; + imported_die = follow_die_ref_or_sig (die, import_attr, &imported_cu); + imported_name = dwarf2_name (imported_die, imported_cu); if (imported_name == NULL) { /* GCC bug: https://bugzilla.redhat.com/show_bug.cgi?id=506524 @@ -3431,7 +3433,7 @@ read_import_statement (struct die_info *die, struct dwarf2_cu *cu) /* Figure out what the scope of the imported die is and prepend it to the name of the imported die. */ - imported_name_prefix = determine_prefix (imported_die, cu); + imported_name_prefix = determine_prefix (imported_die, imported_cu); if (strlen (imported_name_prefix) > 0) { |