From 9c11995121a80bb6f97af1a2cb1fe71ad06b67a9 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Fri, 21 Aug 2009 19:16:18 -0700 Subject: PR10461: Add support for C++ classes and references * dwarf_wrappers.cxx (dwarf_type_name): Name class and reference types. * dwflpp.cxx (dwflpp::iterate_over_globals): Capture class names. (dwflpp::print_members): Permit classes, and dig into inheritance. (dwflpp::find_struct_member): Ditto. (dwflpp::translate_components): Handle classes and references. (dwflpp::translate_final_fetch_or_store): Ditto. * loc2c.c (c_translate_pointer): Treat references as simple pointers. --- loc2c.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'loc2c.c') diff --git a/loc2c.c b/loc2c.c index 26ca3ba1..9d58269c 100644 --- a/loc2c.c +++ b/loc2c.c @@ -1612,7 +1612,9 @@ c_translate_pointer (struct obstack *pool, int indent, Dwarf_Addr dwbias __attribute__ ((unused)), Dwarf_Die *typedie, struct location **input) { - assert (dwarf_tag (typedie) == DW_TAG_pointer_type); + assert (dwarf_tag (typedie) == DW_TAG_pointer_type || + dwarf_tag (typedie) == DW_TAG_reference_type || + dwarf_tag (typedie) == DW_TAG_rvalue_reference_type); Dwarf_Attribute attr_mem; Dwarf_Word byte_size; -- cgit