summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Carlton <carlton@bactrian.org>2003-05-28 22:31:11 +0000
committerDavid Carlton <carlton@bactrian.org>2003-05-28 22:31:11 +0000
commitbab19cb85db4d451c0d407bd47a7a05e609c07bd (patch)
tree13fb2a51202c57e8b81cda34cc87ca22dcf85eb0
parentc6d7417350db7a5e3b8cc9dd323e745e085963f1 (diff)
downloadgdb-bab19cb85db4d451c0d407bd47a7a05e609c07bd.tar.gz
2003-05-28 David Carlton <carlton@bactrian.org>
* dwarf2read.c (determine_prefix): Handle anonymous classes/structures.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/dwarf2read.c13
2 files changed, 16 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 840d98270e4..004120452a2 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2003-05-28 David Carlton <carlton@bactrian.org>
+
+ * dwarf2read.c (determine_prefix): Handle anonymous
+ classes/structures.
+
2003-05-23 David Carlton <carlton@bactrian.org>
* Makefile.in (cp-namespace.o): Depend on frame_h.
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 71508fbc88e..55d31d17ada 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -6030,9 +6030,18 @@ determine_prefix (struct die_info *die)
case DW_TAG_class_type:
case DW_TAG_structure_type:
{
-
if (parent_prefix != NULL)
- return typename_concat (parent_prefix, dwarf2_name (parent));
+ {
+ const char *parent_name = dwarf2_name (parent);
+
+ if (parent_name != NULL)
+ return typename_concat (parent_prefix, dwarf2_name (parent));
+ else
+ /* FIXME: carlton/2003-05-28: I'm not sure what the
+ best thing to do here is. */
+ return typename_concat (parent_prefix,
+ "<<anonymous class>>");
+ }
else
return class_name (parent);
}