diff options
author | Josh Stone <jistone@redhat.com> | 2009-08-21 19:16:18 -0700 |
---|---|---|
committer | Josh Stone <jistone@redhat.com> | 2009-08-21 19:16:18 -0700 |
commit | 9c11995121a80bb6f97af1a2cb1fe71ad06b67a9 (patch) | |
tree | 413926dd6e7f1c3212a7e036b9292e53dee6b548 /loc2c.c | |
parent | aaf7ffe85f54349200ffb60aff628fb9fe68be75 (diff) | |
download | systemtap-steved-9c11995121a80bb6f97af1a2cb1fe71ad06b67a9.tar.gz systemtap-steved-9c11995121a80bb6f97af1a2cb1fe71ad06b67a9.tar.xz systemtap-steved-9c11995121a80bb6f97af1a2cb1fe71ad06b67a9.zip |
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.
Diffstat (limited to 'loc2c.c')
-rw-r--r-- | loc2c.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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; |